2016-06-23 10 views
0

私はこのようなコードを持っています。アクションを遅らせる方法(または)特定のアクションが完了するまで待つプログラムフローを制御する方法

私はスプライトを特定の位置に移動しなければならず、そのアクションの完了後に削除したいと思います。

ただし、アクションを実行せずに削除しています。どのように、これを達成する。

spはスプライト

sp->runAction(MoveTo::create(1.0, Vec2(visibleSize.width/2, visibleSize.height/2))); 
this->removeChild(sp); 

答えて

0
auto move = MoveTo::create(1.0, Vec2(visibleSize.width/2, visibleSize.height/2)); 
auto moveDone = CallFuncN(CC_CALLBACk_1(ClassName::removeSprite, this)); 
sp->runAction(Sequence::create(move, moveDone, NULL)); 

//create a function removeSprite, it will be called after action move is finished 
void ClassName::removeSprite(Node* pNode) { 

pNode->removeFromParent(); 
} 
+0

である代わりに、私はあなたがこのコードがどのように動作するか/理由について、あなたの答えに多くの情報を追加する必要があります私はこの直接 – Mahesh

+0

から特定の子を削除することができると思います。説明のないコードはあまり役に立ちません。 – user5173426

関連する問題