2013-03-09 93 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