0

CCCallBlock 内でいくつかのアニメーションをトリガーしています。内部の各アニメーションには持続時間がありますが、その数は実行時に定義されます。ゲームにはステート マシンがあり、最後のアニメーションが終了するまで待つ必要がありますが、これは使用できません。

 if([self numberOfRunningActions] > 0)

アクションは期間が 0 の CCCallBlock であるためです。

CCCallBlock アクションの期間を設定するにはどうすればよいですか? 実行時にそれを行うことは可能ですか?

4

3 に答える 3

2

多くの理由で間違っているかもしれませんが、私はこれを思いつきました:

[CCCallBlock actionWithBlock:^{
         float duration = [self.cardsMatrix peepCards];
         [self runAction:[CCDelayTime actionWithDuration:duration]];
}];

ここで self は、ゲームを制御するステート マシンを持つ CCLayer です。

于 2012-12-19T06:49:23.357 に答える
0
[self runAction:[CCSequence actions:[CCCallBlock actionWithBlock:^{
    NSLog(@"my block");
}], [my next function], nil]];
于 2012-12-20T16:01:57.270 に答える
0

CCCallBlock関数(一種)でblockあるa を実行します。C関数の期間を設定することはできません。

CCCallBlockアニメーションに別のものを追加し、それらを に追加するCCSequenceと、これCCCallBlockが実行されると、アニメーションが完了したことがわかります。

于 2012-12-18T22:35:22.360 に答える