1

カードを1枚ずつ引いていくカードゲームを作っています。カードは、プレーヤーとディーラーにそれぞれ 1 つずつ配られる必要があります。この手順の間に、すでに行ったカードのアニメーションを追加したいのですが、一緒に起こっています。今、私は1枚ずつアニメーションを作りたいです。つまり、1枚のカードが開き、2枚目のカードがそのようになります

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 に答える