我正在使用盒子2d。我只是想把我的身体移到一定程度。这样做的最佳方式是什么?
答案 0 :(得分:3)
当你说只是想要移动身体时,你的意思是你想用力来让身体到达某一点吗?
有一个专为鼠标移动而设计的接头,如果你想在iPhone上拖动身体,它可能适用于你的情况。它被称为鼠标关节,它在these box2d docs上的8.10以下。
如果你想要一个不会对事物做出反应的身体,而是根据事物的位置和目的地推动事物,那就去the same docs上的b2_kinematicBody
希望它有所帮助。你的问题非常模糊。
编辑回应评论:
嗯,一般来说,这样做的方式是cpBodyApplyForce
or cpBodyApplyImpulse
。有很多方法可以使用它来将身体移动到一个位置,并且它们可以变得比我在评论中总结的更复杂。从本质上讲,你正在进入可以被游戏AI编程源更好地覆盖的东西。
最基本的方法是应用从物体到目标位置的距离的多倍(在每个轴上)的力。如果您希望对象慢慢停止,搜索术语“AI到达行为”可能是个好主意。我在gamedev.net上找到了this discussion。