如何解决精灵动画中的延迟问题?

时间:2010-03-18 13:59:22

标签: cocoa-touch cocos2d-iphone

我的问题是,我为精灵编码。它应该改变它应该从(1,2,3)改变它的图像。它应该看起来像倒计时开始游戏。 1,2,3是3 png图像。但图像不会以相等的时间间隔显示。我的意思是(1 - 2),(2 - 3)之间的时间不一样。这是随机的。请帮我解决我的问题。如果有比我正在做的更好的解决方案,请帮助我。(我的动画应该是,在任何游戏开始之前我们看到倒数1然后是2然后是3然后去GO。)

- (ID)INIT {  if((self = [super init])) {  [[CCDirector sharedDirector] setAnimationInterval:60.0 / 60];         [[CCDirector sharedDirector] setDisplayFPS:NO];

    CCAnimation* numberAnimation = [CCAnimation animationWithName:@"countDown" delay: 60.0/60];
    for( int i=1;i<4;i++)
        [numberAnimation addFrameWithFilename: [NSString stringWithFormat:@"number_%02d.png", i]];

    id numberAction = [CCAnimate actionWithAnimation: numberAnimation restoreOriginalFrame:NO];
    id action2 = [CCFadeOut actionWithDuration:0.5f];


    CCSprite *number;
    number = [CCSprite spriteWithFile:@"number.png"];

...

} }

1 个答案:

答案 0 :(得分:0)

你必须更新本文中使用的一些类,这是我团队中的开发人员写的,因为它是为Cocos2D 0.8.2编写的,但我认为这应该可以帮到你......

http://getsetgames.com/2009/08/05/improving-the-performance-of-animating-sprites-in-cocos2d/

从快速看起来您需要进行以下更改...

  • IntervalAction更改为CCIntervalAction
  • CocosAnimation更改为CCAnimation(我认为?)
  • CocosNodeFrames更改为CCNodeFrames(我认为?)

您必须仔细检查Cocos2D 0.99 release notes。它详细列出了您需要的所有类名。