多くのスプライトがあり、それらを画面内で順番に移動したい。たとえば、'A' は (x1,y1) の場所に移動し、'B' は (x2,y2) に移動します。これらのアクションを順番に実行したいのは、最初に「A」がジョブを終了し、次に「B」が開始することを意味します。
私はそれを呼び出すとスプライトと場所を返す関数があり、スプライトをその場所に送信する必要があります。移動機能では、次のようなものがあります:
void move(){
for(int i=0;i<10;i++){
pair<CCSprite,CCPoint> x=get();
CCFinitTimeAction* act=CCMoveTo::actionWithDuration(DIST/SPEED,x.second);
x.first->runAction(act)
}
}
モーションが終了するまでどのように遅延させることができますか。runAction の後に次の行を追加しましたが、機能しませんでした:
while(!act->isDone());