我正在制作一个盒子在跳跃时会旋转的 iOS 游戏(像这样:http://www.lessmilk.com/games/3/)。我尝试了很多方法,其中一种似乎可以接受:
当触摸开始时,我运行这段代码:
[_box.physicsBody applyImpulse:ccp(0, 5000)];
CCActionRotateBy *r2 = [CCActionRotateBy actionWithDuration:0.9f angle:360.f];
CCActionSequence *moveSequence = [CCActionSequence actionWithArray:@[r2]];
[_box runAction:moveSequence];
这很好,但后来我发现存在性能问题。不知道为什么,当盒子在空中旋转时,帧似乎减少了(或者我觉得是因为动画不流畅)。
有没有人知道问题出在哪里或者有更好的想法来实现这个? 谢谢,
最佳答案
由于您的 sprite 与物理相关,并且您正在为 sprite 运动应用 Linear impulse。因此,除了使用动画来旋转 sprite 之外,您还可以尝试使用物理来旋转 sprite。尝试将角速度应用于 Sprite :
_box.physicsBody.angularVelocity = someConstantValue;
希望你能获得更好的性能和流畅度。
关于ios - 跳跃时旋转 - iOS游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702913/