如何停止在 Box2D 中寻找(转向行为)轨道目标?
How to stop seek (steering behaviour) orbiting target in Box2D?
好的,我目前在我的游戏中有一个非常简单的转向行为。一个物体追逐另一个物体。问题是追逐的物体最终会无限期地绕着另一个物体运行。有没有办法在 box2d 中解决这个问题?现在我所拥有的只是线性阻尼,当它靠近时它会减慢它的速度,这有点帮助,但我真的想消除动量,这样它就可以立即改变方向,就像本教程的第 7 步一样:http://code.tutsplus.com/tutorials/hit-the-target-with-a-deadly-homing-missile--active-8933 ... 除了 Box2D.
也许是这样的:
if(//on target area){
setLinearVelocity(0f,0f);
setAngularVelocity(0f);
steeringBehavior = null;
}
P.S。可能,您可以改用 Arrive 行为(它会拖拽以停在目标上)
最后我用了setLinearDamping()
的方法,让追逐者越靠近越慢。
好的,我目前在我的游戏中有一个非常简单的转向行为。一个物体追逐另一个物体。问题是追逐的物体最终会无限期地绕着另一个物体运行。有没有办法在 box2d 中解决这个问题?现在我所拥有的只是线性阻尼,当它靠近时它会减慢它的速度,这有点帮助,但我真的想消除动量,这样它就可以立即改变方向,就像本教程的第 7 步一样:http://code.tutsplus.com/tutorials/hit-the-target-with-a-deadly-homing-missile--active-8933 ... 除了 Box2D.
也许是这样的:
if(//on target area){
setLinearVelocity(0f,0f);
setAngularVelocity(0f);
steeringBehavior = null;
}
P.S。可能,您可以改用 Arrive 行为(它会拖拽以停在目标上)
最后我用了setLinearDamping()
的方法,让追逐者越靠近越慢。