2009-07-17 16 views
0

Ich mache eine einfache App, in der gefüllte Kreise über den Bildschirm hüpfen. Gerade jetzt ist die Geschwindigkeit der Kreise festgelegt, aber ich möchte, dass sie sich zufällig beschleunigen oder verlangsamen.Unregelmäßige Bewegung in cocos2d machen?

Ich habe ursprünglich versucht, NSTimer zu verwenden, aber ich entdeckte, dass das Zeitintervall nicht unregelmäßig gemacht werden konnte. Laut Apples Dokumentation mit der NSAnimation-Klasse: "Im Gegensatz zu NSTimer können Animationsbenachrichtigungen in unregelmäßigen Abständen auftreten, sodass Sie Animationen erstellen können, die schneller oder langsamer zu werden scheinen."

So scheint es, ich sollte die NSAnimation-Klasse verwenden. Als ich jedoch den Zeichenprozess in NSAnimation betrachtete, scheint er sperrig und begrenzt zu sein. Ich möchte mehrere Kreise und definieren Parameter für ihr Verhalten, so würde ich viel bevorzugen, ein einfacheres Framework wie cocos2d-iphone zu verwenden.

Kann ich den Scheduler von cocos2d verwenden, um unregelmäßige Intervalle zu erstellen? Oder muss ich NSAnimation verwenden?

cocos2d Der Scheduler sieht wie folgt aus:

-(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 
} 

Antwort

0

Anstelle des Timers Verzögerungsänderung zu machen, wie etwa anstelle eines konstanten Zeitgeberintervall (beispielsweise 20 Hz) und die Änderung der Bewegung delta aufweist?

+0

Was ist das Bewegungsdelta? Ich habe bereits zufällige Bewegung, ich will zufällige Geschwindigkeit. – Evelyn

+0

Oh, ich verstehe es! Vielen Dank. :) – Evelyn