2016-07-31 7 views
0

Ich möchte animierten Raum Hintergrund in meinem Spiel machen, versuchte ich mit Knoten auf Spritekit "Sterne Knoten", aber das Spiel wird wegen der Menge der Sterne Laggy, gibt es ein Programm oder eine Möglichkeit, HD animierten Hintergrund zu machen?Wie mache ich einen animierten Spritekit-Hintergrund?

+0

Derzeit sind Sie individuell jedes Ihrer "Stars" Animieren? Wenn ja, haben Sie darüber nachgedacht, sie unter einem anderen SKNode zusammenzufassen und dann diesen einzelnen SKNode zu animieren? Das sollte die Leistung verbessern. –

+0

ja ich habe ein func machen sie zufällig über den Bildschirm, aber wie kann ich sie in einem Knoten zusammenführen und animieren, ich möchte die Animation einiger Sterne verblassen, und die anderen ausblenden – RUON

+0

Sie wahrscheinlich tun etwas stimmt nicht. Einen Atlas mit ein paar Sternmustern zu erstellen sollte nicht so rechenintensiv sein. Stellen Sie sicher, dass Sie tatsächlich an den Texturen in Ihrer Szene festhalten und dann SKNode-Objekte erstellen, die diese zwischengespeicherten Texturen verwenden. Ihre andere Option besteht darin, die Animationen im Voraus zu erstellen und ein H264-Video zu erstellen, das mit SKVideoNode gerendert wird. – MoDJ

Antwort

2

Sie brauchen nur einen Knoten für den Hintergrund, den Sie kennen.

Grundsätzlich erstellen Sie jeden Frame Ihres animierten Hintergrunds als Bilder. Sie können diese Bilder in einen Bildatlas im Asset-Katalog einfügen.

Jetzt können Sie einen einzelnen Sprite-Knoten hinzufügen, der die gesamte Szene als "Hintergrund" abdeckt. Sie legen die Textur des Sprite-Knotens einfach auf den ersten Frame Ihrer Animation fest.

in didMoveToView oder einige Methoden wie das dann,

  1. Ihr Bild Atlas als SKTextureAtlas Objekt erhalten
  2. jede Textur in den Atlas erhalten mit textureNamed und [SKTexture]
  3. in ein jedes von ihnen setzen Jetzt haben Sie das Array, können Sie etwas tun wie folgt:

-

yourBackgroundSprite.runAction(SKAction.repeatForever(
    SKAction.animateWithtextures(theTexturesYouCreatedInStep2, timePerFrame: 30) 
)) 

This link might also help you.

+0

danke :) ,,, – RUON

+0

Welche Dimensionen sollte man für das Hintergrundbild verwenden - vor allem wenn es sich um unterschiedliche iPhone-Modelle handeln könnte? – Sam