Ich habe diese Funktion, die ich in der ersten Szene zum Leben erwecke:
%Vor%aber das Problem ist, es spielt das Thema nur einmal. Ich brauche es bei Wiederholung zu spielen. Und ich dachte, ich wüsste, wie man das schafft.
%Vor%Aber ich kann nicht in den ViewController einfügen, da runAction ein Kind benötigt, um es anzuhängen. Irgendwie könnte ich es tun?
Setzen Sie die Eigenschaft numberOfLoops auf eine negative Zahl.
%Vor%Von der Dokumentation :
NummerOfLoops Die Häufigkeit, mit der ein Sound beim Erreichen des Endes an den Anfang zurückkehrt, um die Wiedergabe zu wiederholen.
...
var NummerOfLoops: Int
...
Ein Wert von 0, der standardmäßig eingestellt ist, bedeutet, dass der Sound einmal abgespielt wird. Legen Sie einen positiven Ganzzahlwert fest, um die Anzahl der Wiederholungen für den Start und die Wiedergabe festzulegen. Wenn Sie beispielsweise den Wert 1 angeben, werden insgesamt zwei Sounds wiedergegeben. Setzen Sie einen negativen ganzzahligen Wert, um den Sound unbegrenzt zu durchlaufen, bis Sie die stop-Methode aufrufen.
Möglicherweise müssen Sie auch erstellen AVAudioPlayer eine Eigenschaft und keine lokale Variable . So wie es aussieht, denke ich, dass Ihre lokale ThemePlayer-Instanz mit automatischer Referenzzählung wahrscheinlich von ARC freigegeben wird. Jemand, der AVAudioPlayer besser kennt als ich, könnte das vielleicht kommentieren.
(Nebenbei bemerkt, möchten Sie Apples Konvention der Benennung von Objektinstanzen folgen, indem Sie mit Kleinbuchstaben beginnen, zB themePlayer
anstatt ThemePlayer
. Dadurch wird Ihr Code für andere leichter lesbar gemacht.)
Tags und Links ios swift sprite-kit