我正在使用jbox2d在java上制作一个自上而下的gfx actiong RPG。基本上我希望敌人在被玩家击中后反弹回来(自上而下的图形我没有摩擦或重力)。我尝试恢复原状,施加冲动并设定线速度,但我没有得到我的预期:敌人远程传送到目的地,如果他们靠近墙壁,他们就会被移出地图。我怎么能解决这个问题,你认为最好的做法是什么?非常感谢
答案 0 :(得分:1)
我不知道你是如何同时使用jbox2d和c ++的......
无论如何,如果你的敌人在物理上被b2_dynamicBody
s表示,那么你可能想要apply a linear impulse并将敌人身体的linear damping设置为大于零的值。线性阻尼的作用类似于空气阻力 - 物体移动得越快,在相反方向上施加的力就越大。施加一个大的线性脉冲并设置一个高线性阻尼将使你的敌人以非常高的初始速度飞离你的英雄,但他们会很快停下来。
我希望这有帮助!