Ich muss einen cgpath kontinuierlich erstellen. Im Moment mache ich das so:
%Vor%Und nenne es so:
%Vor%Aber das Problem ist, dass die Frames mit der Zeit immer kleiner werden. Muss ich etwas ändern, damit die Framerate nicht mehr abfällt?
Mein Ziel ist es, einen zufälligen endlosen Pfad zu erstellen.
Der Schlüssel zum Beibehalten einer hohen FPS-Anzahl beim Zeichnen einer progressiv zunehmenden Anzahl von Zeilen besteht darin, schnell einen Zustand zu erreichen, in dem das Hinzufügen von mehr Zeilen zu der Szene wenig oder keinen Effekt auf die Bildrate hat. Es gibt mindestens zwei Möglichkeiten, dies zu erreichen.
Am einfachsten ist es, die zuvor gezeichneten Linien in ein SKTexture
umzuwandeln und die Ergebnisse als Textur eines SKSpriteNode
anzuzeigen. Hier sind die Schritte:
SKNode
, das als Zeilencontainer verwendet werden soll SKSpriteNode
, das als Zeilenbereich verwendet wird SKShapeNode
, die zum Zeichnen neuer Zeilen verwendet werden soll path
-Eigenschaft des Formknotens SKTexture
fest. Beachten Sie, dass der Inhalt auch der Struktur hinzugefügt wird , da die Zeichenfläche auch ein Kind des Containers ist
Hier ist eine Beispielimplementierung in Swift, die auf einem iPhone 6-Gerät eine endlose Reihe von Linien mit 60 FPS zeichnet (Sie sollten die Leistung auf einem Gerät nicht mit dem Simulator testen):
%Vor%Tags und Links swift sprite-kit frame-rate infinite cgpath