Lua   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了lua – 像素碰撞追踪大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个角色,比如20 x 10像素大,我有一个基于像素的碰撞图(想想蠕虫).

给定速度大于每帧1个像素的角色追踪碰撞的最佳方法是什么.有没有比沿速度矢量迭代每个像素更好的解决方案?

我在Lua(Love 2D)中这样做,但通用解决方案将是理想的.

解决方法

我会结合边界框碰撞和像素完美碰撞.

因此,游戏中的所有实体都会有边界框,只有框架等于精灵的宽度和高度.将此作为您的第一级碰撞测试.完成此操作后,如果发生碰撞,则使用碰撞贴图获得更精细的细节.

这种优化将有助于提高速度,并为引擎增加灵活性,并非所有碰撞都必须是像素完美的.

至于实际的像素完美碰撞算法,你所描述的将起作用.但是,如果你想要速度,你可能想尝试这个:

为每个精灵提供一个位掩码(如像素图,但每个像素只有一位)
例如:

00000000
00100000
01100000
01110000

当一个精灵与另一个精灵碰撞时,从较大的一个比较大的相同大小的位掩码中创建一个新的位掩码,并通过精灵之间的位置差异来“偏移”它.

完成此操作后,逐位’和’这两个掩码中的所有字节.如果任何字节结果> 0,你有碰撞.

大佬总结

以上是大佬教程为你收集整理的lua – 像素碰撞追踪全部内容,希望文章能够帮你解决lua – 像素碰撞追踪所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。