Недостаточно повторений, чтобы поднять голос Тома, но он абсолютно прав. В контексте этого вопроса NSTimer является НЕПРАВИЛЬНЫМ решением. Платформа Cocos2d предоставляет планировщик, который интегрируется с другими игровыми функциями, такими как Pause / Resume (и, скорее всего, использует NSTimer под капотом).
Пример из приведенной выше ссылки:
-(id) init
{
if( ! [super init] )
return nil;
// schedule timer
[self schedule: @selector(tick:)];
[self schedule: @selector(tick2:) interval:0.5];
return self;
}
-(void) tick: (CCTime) dt
{
// bla bla bla
}
-(void) tick2: (CCTime) dt
{
// bla bla bla
}