我如何延迟'时间表'然后取消安排。因此,计划中有延迟,那么它会重新安排并将间隔更改为较小的增量吗?
这个代码
- (void)onEnter
{
[super onEnter];
[self schedule:@selector(addMonster:) interval:1.0];
[self schedule:@selector(addBomb:) interval:4.0];
[self schedule:@selector(addLife:) interval:45.0];
}
答案 0 :(得分:0)
[self scheduleUpdate];
在更新中,在满足时间条件时调用不同的选择器。为了创建时间条件,我们需要一些全局变量。
ccTime addMonsterAfterDuration = 1;
ccTime addMonsterDurationDecrementValue = 0.1;
ccTime timeSpentSinceLastMonsterAdded = 0;
ccTime addMonsterMinDuration =0.2;
-(void) update:(ccTime)delta{
timeSpentSinceLastMonsterAdded += delta;
if(timeSpentSinceLastMonsterAdded == addMonsterAfterDuration){
[self addMonster];
timeSpentSinceLastMonsterAdded = 0;
addMonsterAfterDuration -= addMonsterDurationDecrementValue;
if(addMonsterAfterDuration < addMonsterMinDuration){
addMonsterAfterDuration = addMonsterMinDuration;
}
}
}
以上示例仅适用于addMonsters。我相信你可以为游戏中的其他对象做同样的事情。