取消安排和重新安排Cocos2d 3.0

时间:2014-02-22 02:49:10

标签: cocos2d-iphone scheduled-tasks

我如何延迟'时间表'然后取消安排。因此,计划中有延迟,那么它会重新安排并将间隔更改为较小的增量吗?

这个代码

- (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];

}

1 个答案:

答案 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。我相信你可以为游戏中的其他对象做同样的事情。