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, я пытаюсь запустить действие, но оно не работает.


person user1169079    schedule 27.08.2012    source источник
comment
вы создаете новый CCSequence* из CCArray* и запускаете его? я не знаком с 2.0, но я думаю, вам следует получить CCSequence* из массива и запустить его вместо того, чтобы создавать новый, используя массив.   -  person m.ding    schedule 27.08.2012
comment
Если вам просто нужна задержка, я думаю, CCDelayTime и CCCallFunc могут вам помочь.   -  person m.ding    schedule 27.08.2012


Ответы (1)


Вы также можете использовать планировщик следующим образом:

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

SEL_SCHEDULE selector будет функцией, которую вам нужно вызвать

2.0f — это таймер, на сколько секунд вы хотите отложить вызов функции

person namnam    schedule 31.01.2013