基本上我希望能够调度N个精灵的运动动画
第一个在开始时第二个在他后面10 px,第三个精灵10 px
落后第二。等等..问题是当我循环精灵的向量时,我想给它们动画,它们都同时移动。这就是我所拥有的:
Vector<Node*> OnlyCoinsContainertChildren = this->pOnlyCoinsContainer->getChildren();
for (auto iter = OnlyCoinsContainertChildren.begin(); iter != OnlyCoinsContainertChildren.end(); ++iter)
{
Sign* pCoin = static_cast<Sign*>(*iter);
if(pCoin->getTag() == COIN)
{
auto action1 = Sequence::create(
MoveBy::create(1.0f,vec),
// DelayTime::create(1.0f),
CallFunc::create( std::bind(&SolutionContainer::CoinsToScoreViewAnimationCallback,
this,
pCoin)),
RemoveSelf::create(),
NULL);
pCoin->runAction(action1);
}
}
void SolutionContainer::CoinsToScoreViewAnimationCallback(Node* sender)
{
++iCoinsToScoreCount;
if(iNumberOfCoinsCount==iCoinsToScoreCount)
{
this->InnerCleanPreviousLevel();
}
}
最佳答案
添加具有可变持续时间的DelayTime操作。您可以在循环中使用递增计数器,并将其乘以持续时间。
例如:DelayTime::create(1.0f * counter)
关于c++ - Cocos2d-x如何分配N个节点 Action 动画并在它们之间延迟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25444214/