我有一个我试图重复的序列,并随着重复的每次出现改变延迟时间......就像:
__block CCDelayTime *delayTime = [CCDelayTime actionWithDuration:myDelay];
[CCRepeat actionWithAction:[CCSequence actions:
[CCCallFunc actionWithTarget:self selector:@selector(doSomething)],
delayTime,
[CCCallBlock actionWithBlock:^{
delayTime.duration = delayTime.duration / 2
}....
我没有得到真正快速的地方.. 尽管 CCDelayTime 的 duration_ ivar 的实例实际上已正确设置为其先前值的一半,但在单步执行代码时,似乎只要控制到达其中一个基础class' (CCActionInterval) 方法,例如 step 或 update:,duration_ ivar 恢复到原始值(myDelay 设置的值)。
我花了很多时间浏览 cocos 代码,试图弄清楚为什么会这样,但最终决定放弃,看看这里是否有人可以帮助我。也许有更好的方法来做我想做的事情?