1

我正在制作一个纸牌游戏,我想一张一张地抽牌。卡必须一张一张地发给玩家,然后分别发给庄家。在这个过程中,现在我想添加我已经完成的卡片动画,但它正在一起发生。现在我想制作一张一张的动画,即一张卡片打开然后第二张卡片像这样

我尝试过使用 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,我尝试运行该操作,但它不起作用

4

1 回答 1

0

您也可以像这样使用调度程序:

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

SEL_SCHEDULE selector将是您需要调用的函数

2.0f是一个计时器,你想延迟多少秒的函数调用

于 2013-01-31T07:05:06.017 回答