Actionscript 3 使我的对象在box2d AS3.0中飞行

Actionscript 3 使我的对象在box2d AS3.0中飞行,actionscript-3,object,box2d,Actionscript 3,Object,Box2d,主要问题是,由于在box2d中,对象将自动下降到底部,因此我希望创建飞行对象并保持相同高度 这是我从一些网站上得到的代码: gravityOffset.Multiply(-body.GetMass()); body.ApplyForce(gravityOffset, body.GetWorldCenter()); 我的目标是飞,但它像火箭一样飞走了,再也没有回来 我修改了如下代码: gravityOffset.x = 0; gravityOffset.y = 0; body.ApplyForc

主要问题是,由于在box2d中,对象将自动下降到底部,因此我希望创建飞行对象并保持相同高度

这是我从一些网站上得到的代码:

gravityOffset.Multiply(-body.GetMass());
body.ApplyForce(gravityOffset, body.GetWorldCenter());
我的目标是飞,但它像火箭一样飞走了,再也没有回来

我修改了如下代码:

gravityOffset.x = 0;
gravityOffset.y = 0;
body.ApplyForce(gravityOffset, body.GetWorldCenter());
但是它还是飞得很慢

当飞行时间结束时,我想让它再次坠落。
有人可以帮忙吗?

如果你想把火箭发射到空中,然后让它返回地面,那么:

body.ApplyImpulse(velocity,body.GetWorldCenter());
然而,如果你想对火箭有更多的控制,而不仅仅是发射然后忘记,那么它会变得更难


在这种情况下,我可能会使用一些,并使用seek函数使它朝着一个向量移动,然后你可以继续将这个向量移动到任何地方,让火箭跟随它。

我想要的移动是这样的。物体只是向右移动,我还想添加云,所以我需要代码如何使云不坠落。所以火箭沿着蓝色轨道飞行?云沿着绿色轨迹运动?条件是身体沿着蓝色轨迹运动,但我想要的是沿着绿色轨迹运动。在尝试了很多其他方法之后,我使用了这个。gravityOffset.y=-body.GetLinearVelocity.y;body.ApplyForcegravityOffset,body.GetWorldCenter;重力偏移是b2vec2变量,它起作用,现在我必须让它以和上升时相同的速度/力下降。。有什么建议吗?