我在CCCallBlock中触发了几个动画。内部的每个动画都有一个持续时间,但它们的数量是在运行时定义的。在游戏中有状态机,我需要等到最后一个动画结束,但我不能用它:
if([self numberOfRunningActions] > 0)
因为该操作是持续时间为0的CCCallBlock。
如何设置CCCallBlock操作的持续时间?可以在运行时执行吗?
答案 0 :(得分:2)
由于很多原因可能是错的,但我想出了这个:
[CCCallBlock actionWithBlock:^{
float duration = [self.cardsMatrix peepCards];
[self runAction:[CCDelayTime actionWithDuration:duration]];
}];
这里的自我是控制游戏的状态机的CCLayer。
答案 1 :(得分:0)
CCCallBlock
运行block
,这是C
函数(排序)。您无法设置功能的持续时间。
您可以为动画添加另一个CCCallBlock
,将它们放在CCSequence
中,当此CCCallBlock
运行时,您就知道动画已完成。
答案 2 :(得分:0)
[self runAction:[CCSequence actions:[CCCallBlock actionWithBlock:^{
NSLog(@"my block");
}], [my next function], nil]];