2013-10-13 14 views
8

Ich möchte ein Pausenmenü erstellen, aber ich weiß nicht die einfachste Möglichkeit, dies zu tun ... Ich denke, ein einfacher Weg wäre, alle meine SKActions zu pausieren, aber ich konnte keine Methode in der finden Referenz. Danke für Hilfe.Gibt es eine Möglichkeit, SKActions anzuhalten?

Antwort

13

Dokumentation besagt, dass das übergeordnete SKView Objekt eine pausierte property hat. Stellen Sie es auf YES, um die Szene anzuhalten.

Paused

Ein Boolean Wert, pausiert die Ansicht der Szene Animationen sind zeigt an, ob.

@property (getter = isPaused, nonatomic) BOOL pausiert

Discussion Wenn der Wert JA ist, dann wird der Inhalt der Szene auf dem Bildschirm festgelegt ist. Keine Aktionen ausgeführt und keine Physik-Simulation durchgeführt wird.“

//the parent SKView 
spriteView = (SKView *) self.view; 

//pause button 
-(IBAction)goPauseButton { 
    if(!spriteView.paused){ 
     spriteView.paused = YES; 
    }else{ 
     spriteView.paused = NO; 
    } 
} 
+2

Danke für Ihre Hilfe Pause haben! :) Ihr Recht. Alle Animationen und Aktionen Hör auf, aber wenn ich setze Wenn Sie die pausierte Eigenschaft wieder auf Nein setzen, wird das Sprite weiter verschoben, wenn die Ansicht nie pausiert hätte. Irgendeine Idee warum? :) – user1940136

+0

Die Pause funktioniert gut für mich, können Sie Ihren Code veröffentlichen, wie und wo Sie es nennen? – AndyOS

+0

Ich weiß, was das Problem meines Codes ist ... Ich benutze die aktuelle Zeit von der Aktualisierung: Methode und die aktuelle Zeit hört logisch nicht auf. Also muss ich das reparieren. – user1940136

8

Sie auch durch Einstellen der Geschwindigkeit der Szene alle SKActions pausieren zero-- dies bedeutet, dass alle Aktionen zu stoppen, und Sie brauchen sich nicht zu, über sie zu kümmern bewegen, wo sie nicht gewesen, wenn Sie nicht

self.speed = 0; 

einfach wie das

Verwandte Themen