2012-08-27 80 views
1

我正在製作一款紙牌遊戲,我想逐一抽獎。卡必須分別向玩家和經銷商一一處理。 在此過程中,現在我想添加已完成的卡片動畫,但它一起發生。現在,我想使一個個動畫 即一卡得那麼開第二張牌一樣,Cocos2d-x - 如何讓等待第二個動畫,直到一個動畫完成?

我一直在使用CCArray0> addobj(CCSequence)試過......這裏的方法是我的代碼,但它不工作

m_AnimateCardArr = CCArray::create(4); 

for (int i = 0; i < 4; i++) { 

switch (i){ 

case 0: player->draw(card) 
    cardAnimation(player,card,500,200); 
    break; 
case 1: player->draw(card) 
    cardAnimation(player,card,550,200); 
    break; 
case 2: dealaer->draw(card) 
    cardAnimation(player,card,500,1000); 
    break; 
case 3 :dealaer->draw(card) 
    cardAnimation(player,card,550,1000); 
    break; 
} 

++mCount; 
} 

    void CardAnimation(Player* player,Card* card, CCPoint startPts,CCPoint endPts){ 

     // ,, some code 
    m_AnimateCardArr->addObject(CCSequence::create(spawn1,spawn2,finishAnimation,NULL)); 
    if(mCount>=4) 
     card->runAction(CCSequence::create(m_AnimateCardArr)); 
} 

只要mCount變爲4我嘗試運行行動,但它不工作

+0

要創建一個新的CCSequence功能*的通話*和運行定時器嗎?我不熟悉2.0,但我想你應該從數組中獲取CCSequence *並運行它,而不是使用數組創建新的。 –

+0

如果你只是想延遲,我想CCDelayTime和CCCallFunc可能會幫助你。 –

回答

0

您還可以使用調度程序是這樣的:

this->schedule(schedule(SEL_SCHEDULE selector), 2.0f); 

SEL_SCHEDULE selector會是你需要的函數調用

2.0f是你要多少秒從CCArray延遲

相關問題