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?
8
A
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;
}
}
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
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
Die Pause funktioniert gut für mich, können Sie Ihren Code veröffentlichen, wie und wo Sie es nennen? – AndyOS
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