降低帧速率

时间:2012-12-05 15:36:10

标签: cocos2d-iphone

有没有办法将framerate上的游戏iPhone从30 fps降低到25 fps?我正在移植以 25 fps 创建的Flash游戏并以此帧速率导出精灵,但动画未正确显示。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

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

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

延迟40毫秒,应该接近25 fps(渲染动画),而游戏的剩余时间以60 fps计时(如果你在其他地方没有滞后问题)

答案 1 :(得分: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

答案 2 :(得分:-3)

嗯,最后解决方案是另一种方式。

  1. 保持帧速率为1.0 / 60.0
  2. 动画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]];
                    }
                }
    

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

    感谢你的帮助安迪!