0

有什么办法可以将游戏framerate从 30 帧降低到 25 帧iPhone吗?我正在移植一个以25 fps创建的 Flash 游戏并以该帧速率导出精灵,但动画未按应有的方式正确显示。

任何想法?

4

3 回答 3

1

试试这个,直接开箱即用:

animation = [CCAnimation animationWithSpriteFrames:frames delay:.04];

有 40 毫秒的延迟,这应该接近 25 fps(渲染动画),而游戏的其余部分以 60 fps 的速度运行(如果你在其他地方没有延迟问题)

于 2012-12-05T22:37:55.563 回答
0

我认为您可以App Delegate在您的方法中使用以下代码段更改您的动画间隔didFinishLaunching

CCDirector *director = [CCDirector sharedDirector];
[director setAnimationInterval:1.0/25];

希望这可以帮助!

编辑 :

此链接能否为您提供有关如何处理的更多信息?

http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:best_practices

于 2012-12-05T15:38:49.193 回答
-3

好吧,最终解决方案是通过另一种方式。

  1. 将帧率保持在 1.0/60.0

最慢地为 spritesheet 设置动画所需要做的是将帧多次添加到动画数组中。

NSMutableArray *walkAnimFrames = [NSMutableArray array];
            for(int i =  _spriteMetadata.spriteInitFrame; i <= _spriteMetadata.spriteEndFrame; ++i) 
{
NSString *spriteFrameName = [NSString stringWithFormat:@"%@%@", _spriteMetadata.spriteBaseName, index];

                for (int i=0; i<2; i++)
                {
                    [walkAnimFrames addObject:
                     [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:spriteFrameName]];
                }
            }

这不是很正统,但它有效!:)

感谢您的帮助安迪!

于 2012-12-05T16:26:04.167 回答