Я делаю простое приложение, в котором заполненные круги подпрыгивают по экрану. Прямо сейчас скорость кругов фиксирована, но я хочу, чтобы они ускорялись или замедлялись случайным образом.
Первоначально я пытался использовать NSTimer, но обнаружил, что временной интервал нельзя сделать нерегулярным. Согласно документации Apple, с классом NSAnimation, «в отличие от NSTimer, уведомления о анимации могут появляться с нерегулярными интервалами, что позволяет создавать анимации, которые появляются для ускорения или замедления».
Похоже, мне следует использовать класс NSAnimation. Однако, когда я посмотрел на процесс рисования в NSAnimation, он кажется громоздким и ограниченным. Я хочу сделать несколько кругов и определить параметры для их поведения, поэтому я бы намного предпочел бы использовать более простую структуру, такую как cocos2d-iphone.
Можно ли использовать планировщик cocos2d для создания нерегулярных интервалов? Или я должен использовать NSAnimation?
Планировщик cocos2d выглядит так:
-(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
}