現在、私はcocos2D-xを学習中で、スプライトアニメーションをいくつか行っています。
私の目的は、ボタンをクリックしたときに、オブジェクトがアニメーションで左に移動することです。 複数回クリックすると、すぐにアニメーションが実行され、クマが歩くのではなく望んでいるように見えます。アニメーションがcocos2d-xで実行されている場合
アニメーションが既に実行されているか、新しいアニメーションが実行されていないかを確認する必要があります。
以下は私のコードの一部です。
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("AnimBear.plist");
CCSpriteBatchNode* spriteBatchNode = CCSpriteBatchNode::create("AnimBear.png", 8);
this->addChild(spriteBatchNode,10);
CCArray *tempArray = new CCArray();
char buffer[15];
for (int i = 1; i <= 8 ; i++)
{
sprintf(buffer,"bear%i.png", i);
tempArray->addObject(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(buffer));
}
CCAnimation *bearWalkingAnimation = CCAnimation::create(tempArray,0.1f);
startAnimation = CCSprite::createWithSpriteFrameName("bear1.png");
startAnimation->setPosition(ccp (350 , CCDirector::sharedDirector()->getWinSize().height/2 -100));
startAnimation->setScale(0.5f);
startAnimation->setTag(5);
//Animation for bear walking
bearAnimate = CCAnimate::create(bearWalkingAnimation);
ここで、bearAnimateはグローバル変数で、私はそのアニメーションを現在再生しているかどうかを知りたいと思っています。
どうすればいいですか?
ありがとうございます。
@LanceGray:ありがとうございました! –
これは普通のcocos2dの仕組みを知っていますか? – RollRoll
@ ThePoet私はその機能は同じだと思いますか? –