SpriteKit + Particle Effect = Fps Problem

Critizz

Critizz

Aktives Mitglied
Thread Starter
Dabei seit
28.05.2012
Beiträge
1.136
Reaktionspunkte
22
Hallo MacUser Community ,

Ich hab ein kleines Spiet programmiert ( wie Flappy Bird ) und wollte da jetzt einen : Particle Effect hinzufügen. Also wenn der Vogel fliegt sollte hinter ihm eine " Rauchspur " erscheinen.
Das hat auch super funktioniert indem ich dass hier gemacht hab :

NSString *smokePath = [[NSBundle mainBundle] pathForResource:mad:"smoke" ofType:mad:"sks"];

smoke = [NSKeyedUnarchiver unarchiveObjectWithFile:smokePath];

smoke.position = CGPointMake(bird.position.x, bird.position.y-40);

[self addChild:smoke];



Das ganze steht in der Methode : -(void)update:(CFTimeInterval)currentTime {

Jedoch "laggt / hängt " das Spiel sehr stark im iOS Simulator wird mir auch folgendes angezeigt : 313 Nodes und FPS 13.0 FPS
 
Die FPS im Simulator haben nur wenig mit den FPS auf den Geräten zu tun.

Aber dein Code ist trotzdem nicht ganz korrekt.

Die Update-Funktion wird, wie im Kommentar angegeben, jedesmal aufgerufen, bevor ein Frame gerendert wird, also bis zu 60 mal in der Sekunde. D.h. du fügst 60 Nodes pro Sekunde hinzu.

Ich habe selbst die ParticleEmitter noch nicht ausprobiert, aber m.W. muss man die SKS an eine ParticleEmitterNode hängen (bei dir wohl "smoke") und diese dann in die Szene einfügen, das ganze z.B. zu dem Zeitpunkt, wo du den Vogel-Sprite einfügst. Ggf. kann man die Emitter-Node auch als Child der Vogel-SpriteNode einfügen.
 
Zurück
Oben Unten