Java 如何将线性脉冲应用于可变点
我正在LibGDX框架下制作简单的Android游戏。我曾一度口吃,希望你能帮助我。 我不想在固定点上施加线性脉冲。当按下W时,程序应检查播放机角度并将脉冲施加到正确的点Java 如何将线性脉冲应用于可变点,java,android,box2d,libgdx,Java,Android,Box2d,Libgdx,我正在LibGDX框架下制作简单的Android游戏。我曾一度口吃,希望你能帮助我。 我不想在固定点上施加线性脉冲。当按下W时,程序应检查播放机角度并将脉冲施加到正确的点 player.applylinearpulse(新矢量2(01000), 新的向量2((float)Math.cos(angle)*player.getPosition().x,(float)Math.sin(angle)*player.getPosition().y/2),true); 当我按下W键时,玩家将毫无问题地上
player.applylinearpulse(新矢量2(01000),
新的向量2((float)Math.cos(angle)*player.getPosition().x,(float)Math.sin(angle)*player.getPosition().y/2),true);
当我按下W键时,玩家将毫无问题地上升
但当我按D键时,播放机角度发生变化:
player.applyTorque(2000年,真实版)代码>
如果我再次按W键,播放器开始旋转。我该怎么做才能以正确的方式向播放器应用输入脉冲?我想让玩家表现得像火箭一样,或者像“喷气背包”一样,在世界坐标系中检索一个局部向量。你可以试试这个:
Vector2 forward = player.getWorldVector(new Vector2(0, 1)).nor();
player.applyForceToCenter(forward.x * strength, forward.y * strength);