Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将线性脉冲应用于可变点_Java_Android_Box2d_Libgdx - Fatal编程技术网

Java 如何将线性脉冲应用于可变点

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键时,玩家将毫无问题地上

我正在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键时,玩家将毫无问题地上升

但当我按D键时,播放机角度发生变化:

player.applyTorque(2000年,真实版)

如果我再次按W键,播放器开始旋转。我该怎么做才能以正确的方式向播放器应用输入脉冲?我想让玩家表现得像火箭一样,或者像“喷气背包”一样,在世界坐标系中检索一个局部向量。你可以试试这个:

Vector2 forward = player.getWorldVector(new Vector2(0, 1)).nor();
player.applyForceToCenter(forward.x * strength, forward.y * strength);