Mit dem IOS SpriteKit herumspielen mit SKSprites, und ich möchte grundsätzlich ein Sprite nach dem Zufallsprinzip eine bestimmte Richtung für eine bestimmte Entfernung bewegen, dann eine neue zufällige Richtung und Entfernung wählen. Einfach genug, erstellen Sie eine Methode, die die Zufallszahlen erzeugt, dann erstellt die Animation und im Completion-Block der Animation haben Sie die gleiche Routine Callback.Wie bewegt man einen IOS SKSprite mit konstanter Geschwindigkeit?
Dies funktioniert zwar, aber es verhindert auch, dass sich die Animation mit derselben Geschwindigkeit bewegt, da die Animationen alle auf Dauer basieren. Wenn das Objekt 100 bewegt werden soll, bewegt es sich mit der Hälfte der Geschwindigkeit Zufällig sagt er, dass er 200 bewegen soll ... Also, wie zum Teufel soll ich es mit einer konstanten Geschwindigkeit bewegen?
Sie sollen nach dem Code Sie zu bestimmen, verwenden (und animieren) die neue Position. Die grundlegende Antwort auf Ihre Frage ist, dass die Dauer der Animation ein festes Vielfaches der Entfernung zwischen dem aktuellen und dem nächsten Ort sein sollte, aber es wäre einfacher, dies mit einer Änderung Ihres aktuellen Codes zu erklären. –
Ich habe dies getan, und während es funktioniert, es scheint nur kludgy, ich würde denken, dass es etwas in Richtung der Bewegung zu xy mit Geschwindigkeit statt alles Dauer sein könnte. – user282172
Diese Art von Modell, wo Sie die Dauer pro bewegtem Pixel berechnen und dann multiplizieren, um wie viel Sie sich bewegen müssen, müssen Dinge berücksichtigen, wenn Sie x und y gleichzeitig bewegen, da 1 Pixel Diagonale tatsächlich ist eine größere Entfernung als 1 Pixel links und rechts, (Quadratwurzel von 2 vs 1) unter der Annahme, dass die Pixel selbst tatsächlich quadratisch sind. – user282172