2013-03-09 51 views
0

我已经看遍了所有,我找不到任何有关如何做到这一点的信息。我想在动画完成后运行动画动画,我希望它能够在同一个精灵上运行另一个动作动画。这怎么可能?在精灵上发出另一个动画后播放动画

[self.mainShip runAction:retractdoor]; 
    [self.mainShip runAction:activatedoor]; 

这使我崩溃。

self.mainShip runAction: [CCSequence actions:retractdoor,activatedoor, nil]; 

给了我一个黄色的通知

不兼容的指针类型发送抄送动作类型ccfinite作用时间参数

CCAnimation *retractdoorAnimation = [CCAnimation 
             animationWithSpriteFrames:retractdoorframes delay:0.1f]; 
    CCAnimation *activatedoorAnimation = [CCAnimation 
              animationWithSpriteFrames:activatedoorframes delay:0.1f]; 

self.retractdoorAction = [CCAnimate actionWithAnimation:retractdoorAnimation]; 
self.activatedoorAction = [CCAnimate actionWithAnimation:activatedoorAnimation]; 
+1

'self.mainShip runAction:[CCSequence动作:[retractdoor] [activatedoor];' - 如何做,即使编译 – Kreiri 2013-03-09 13:02:36

+0

'self.mainShip runAction:[CCSequence actions:retractdoor,activatedoor,nil];',如果你不调用方法,你不能使用方括号,你必须用逗号分隔,而且你必须用' nil'。那永远不会编译。 – NSAddict 2013-03-09 13:16:01

+0

显示声明这两个操作的代码。 – YvesLeBorg 2013-03-09 13:52:24

回答

3

你错过了零终止。

[self.mainShip runAction: [CCSequence actions:retractdoor,activatedoor, nil]]; 

这应该工作,不使用方括号,不要错过逗号..

+0

不兼容的指针类型发送Cc动作参数的类型为ccfinite time action – user2121776 2013-03-09 13:42:29

+4

,因为CCAnimation不是CCAction,您需要做类似CCAnimate * anim1 = [CCAnimate actionWithAnimation:retractdoorAnimation restoreOriginalFrame:NO];然后把anim1放入顺序 – Ultrakorne 2013-03-09 14:23:57

+0

谢谢很多人。 – user2121776 2013-03-09 23:53:00