Android LibGdx设定速度

Android LibGdx设定速度,android,libgdx,box2d,game-physics,Android,Libgdx,Box2d,Game Physics,如何仅在X方向设置线速度,而不影响LIBGDX Box2D中物体的Y方向运动。我给身体施加了一个冲动,让它跳跃现在我想让它向右或向左移动我尝试了以下方法: setLinearVelocity(Vector2) 但它正在阻止垂直运动。谢谢只要通过getter检索当前速度,操纵它并设置新的速度即可 Vector2 velocity = body.getLinearVelocity().cpy(); velocity.set(500, velocity.y); body.setLinearVeloc

如何仅在X方向设置线速度,而不影响LIBGDX Box2D中物体的Y方向运动。我给身体施加了一个冲动,让它跳跃现在我想让它向右或向左移动我尝试了以下方法:

setLinearVelocity(Vector2)

但它正在阻止垂直运动。谢谢

只要通过getter检索当前速度,操纵它并设置新的速度即可

Vector2 velocity = body.getLinearVelocity().cpy();
velocity.set(500, velocity.y);
body.setLinearVelocity(velocity);

只需通过getter检索当前速度,操纵它并设置新速度

Vector2 velocity = body.getLinearVelocity().cpy();
velocity.set(500, velocity.y);
body.setLinearVelocity(velocity);

你甚至需要设置它吗?应该是同一个对象,所以操纵后不需要设置,对吗?我的意思是如果你得到速度并操纵它。不需要复印件之类的东西。我想,你可以保存一些操作。我认为这是必要的,因为在一些平台上,吸气剂和安装程序调用本地C++代码。仅操纵向量是不够的,您需要再次调用setter。我不确定cpy()是否正确。可能返回的向量只是一个temp,可以更改,但为了保存,我添加了cpy()。您甚至需要设置它吗?应该是同一个对象,所以操纵后不需要设置,对吗?我的意思是如果你得到速度并操纵它。不需要复印件之类的东西。我想,你可以保存一些操作。我认为这是必要的,因为在一些平台上,吸气剂和安装程序调用本地C++代码。仅操纵向量是不够的,您需要再次调用setter。我不确定cpy()是否正确。可能返回的向量只是一个temp,可以更改,但为了保存,我添加了cpy()。