2014-05-10 65 views
0

好的,这让我难倒了好几天。我已经寻求帮助,但也许我说错了,因为我不相信这里没有人知道什么时候看起来很简单。移动一个与其旋转一致的物体。 ApplyImpulse? Cocos2D

我目前上下移动,利用火箭精灵:

_sprite.physicsBody applyImpulse:ccp(0,320.f); 

这工作。然而,在一个先前作出的应用程序,我用了精灵的旋转给予Y移动:

_sprite.physicsBody applyImpulse:ccp(_sprite.rotation, 320.f); 

这给了相当不错的结果。事情是,我没有做任何新的应用程序,当我放大旋转以获得更大的y方向的冲动时,火箭向右移动一点,然后再往上移动一点点,而不是流体运动。

有没有人知道一个更好的(或者只是替代)根据旋转移动的方法?

回答

0

该方法确实使用角度... http://www.cocos2d-x.org/reference/native-cpp/V3.0alpha0/d7/d7b/classcocos2d_1_1_physics_body.html#a3b0a435f7926f27712a02f397dec35b1该文档说,第一个参数是力,第二个是偏移量。如果它工作的话,试试它们。

+0

感谢您的建议,但这不起作用,所产生的运动仍然相当不稳定。它就好像两个参数表现为X和Y的运动一样,但是Y是平滑和一致的,而X运动是不稳定的并且不一致 – Dave440