Cocos2d调度间隔减少

时间:2012-02-07 18:48:53

标签: iphone c object ios4 cocos2d-iphone

我做了一个简单的计时器,但是试图增加计时器的速度随着时间的推移,所以我基本上希望计时器的间隔为1.0,每10秒我希望计时器的间隔减少0.1

我该怎么做呢?

[self schedule:@selector(tick:)interval:1.0];

这是在init部分

-(void)tick:(ccTime)dt{
myTime = myTime+1;
totalTime = myTime; 

[timeLabel setString:[NSString stringWithFormat:@"%i", totalTime]]; 
}

那是计时器。

这是一个基本的计时器,间隔为1.0秒,但我希望间隔每10秒减少10%。

1 个答案:

答案 0 :(得分:2)

<。>文件中的

@property(nonatomic,readWrite)CGFloat lastUpdatedInterval;

in.m文件,初始化self.lastUpdatedInterval = 1.0;

然后致电

[self schedule:@selector(tick:)interval:self.lastUpdatedInterval];

在更新循环中,

-(void)tick:(ccTime)dt
{
    if(myTime>9 && (myTime%10 == 0))
    {
      [self unschedule:@selector(tick:)];
      self.lastUpdatedInterval = self.lastUpdatedInterval - (self.lastUpdatedInterval*0.1);
      [self schedule:@selector(tick:)interval:self.lastUpdatedInterval];
    }

myTime = myTime+1;
totalTime = myTime; 

[timeLabel setString:[NSString stringWithFormat:@"%i", totalTime]]; 

}