Мне было интересно, как увеличить промежуток времени, чтобы добавить цель. Я все еще новичок в cocos2d.Как увеличить интервал времени?
[self schedule:@selector(gameLogic:) interval:0.7];
-(void)gameLogic:(ccTime)dt {
[self addTarget];
}
Мне было интересно, как увеличить промежуток времени, чтобы добавить цель. Я все еще новичок в cocos2d.Как увеличить интервал времени?
[self schedule:@selector(gameLogic:) interval:0.7];
-(void)gameLogic:(ccTime)dt {
[self addTarget];
}
float interval = .7;
-(id)init{
...
[self scheduleOnce:@selector(gameLogic:) delay:interval]; //Check the name of the method, I'm not 100% sure about it
...
}
-(void)gameLogic:(ccTime)dt {
[self addTarget];
interval += dt; //Or whatever you want to increase it by
[self scheduleOnce:@selector(gameLogic:) delay:interval]; //Check the name of the method, I'm not 100% sure about it
}
Почему бы не объявить простое свойство (INT, поплавок и т.д.), чтобы держать количество раз ваш метод был вызван, и увеличивать его при вызове самого метода? Таким образом, это просто проблема умножения:
//.h
...
@property (nonatomic, assign) int iterations;
//.m
@synthesize iterations = iterations_;
[self schedule:@selector(gameLogic:) interval:0.7*iterations_];
-(void)gameLogic:(ccTime)dt {
[self addTarget];
iterations_++;
}
Как это так, мой друг? – CodaFi
Мои извинения, я должен сначала прочитать документацию по заголовку! 'Если селектор уже запланирован, то параметр интервала будет обновлен, не планируя его снова.' Итак, ваш ответ тоже сработает. Сожалею! – MechEthan
Никогда не думал, что это простой LOL. Спасибо –
Это '- (void) scheduleOnce: (SEL) selector delay: (ccTime) delay;' Но в остальном ваш ответ должен работать нормально! – MechEthan
Спасибо, я обновил свой ответ. – EmilioPelaez