ios - 跳跃时旋转 - iOS游戏

标签 ios objective-c spritebuilder

我正在制作一个盒子在跳跃时会旋转的 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/

相关文章:

ios - 如何更改 spritebuilder 项目名称

ios - Cocos2D v3 CCTableView 不滚动

ios - swift4 : how to check if user logged befor tab bar item clicked

iOS 7 视频未播放

iphone - 在模拟器中无法在iPhone 3GS中正常工作的声音

objective-c - NSPredicateEditor 不会调整 NSTextField 的大小

ios - 使用 SceneKit 和 CoreMotion 播放 360 度视频时相机位置错误

ios - 两个不同的按钮对同一 View Controller 执行 segue,但希望通过一个按钮禁用 segue 的用户交互

iOS 核心数据按属性维护顺序