【发布时间】:2014-05-01 01:07:34
【问题描述】:
我正在制作一个平台游戏,并且我研究了在没有旋转的基于图块的游戏中添加碰撞的不同方法。但是我所看到的一切都假设在任何情况下,碰撞物体中的一个都不会以足够快的速度在检测到碰撞之前通过另一个。我尝试过使用 Box2D 和 Farseer,但它们过于复杂并且在制作大量瓷砖时运行速度非常慢。我还尝试了使用 2D 凸包的自己的方法,但运行速度也太慢了。那么有没有一种方法可以在没有最大速度的情况下检测碰撞,或者让物品相互通过,并且不会过于复杂并且可以与大量瓷砖一起使用?非常感谢任何帮助
【问题讨论】:
-
您将找到/实现的每种算法都会对项目数量有限制,并且当您添加越来越多的对象时运行速度会很慢 - 您对此无能为力。这里没有什么可说的,除了 - 设定目标,配置文件,看看你的情况下什么是慢的。在精确检查之前添加近似检查(例如还包括速度/时间的边界矩形)和一些基于空间位置的分桶对象是可能的优化方法...