2012-02-07 3 views
3

Я сделал простой таймер, но в попытке увеличить скорость таймеров с течением времени, поэтому я хочу, чтобы таймер имел интервал в 1,0 и каждые 10 секунд, я хочу, чтобы интервал таймера уменьшался на 0,1Cocos2d расписание интервала для уменьшения времени

Как я могу это сделать?

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

Это в разделе инициализации

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

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

Это таймер.

Это основной таймер с интервалом в 1,0 секунды, однако я бы хотел, чтобы интервал уменьшался на 10% каждые 10 секунд.

ответ

2

в файле .h

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

} 
+0

просто добавить еще одно условие, чтобы предотвратить это происходит отрицательный. – samfisher

+0

'code' @property (nonatomic, readWrite) CGFloat lastUpdatedInterval; «код» вы можете сказать мне, что это делает? спасибо – sahil

+0

Я пробовал это, но он говорит: property 'lastUpdatedInterval' требует определения метода setLastUpdatedInterval: '- использовать (at) синтезировать, (at) динамически или обеспечивать реализацию метода. извините im новое к этому. разве нет более простого метода? – sahil

Смежные вопросы