Ich benutze SpriteKit, um ein Projektil zu schießen. Der Projektilknoten erhält einen Impuls mit -(void)applyImpulse:(CGVector)impulse
.
Ich möchte die Entfernung berechnen, die das Projektil fliegen wird, bevor es auf den Boden trifft, was einfach gemacht werden kann, wenn man den Geschwindigkeitsvektor des Physikkörpers des Projektilknotens und die Gravitationsbeschleunigung kennt (siehe Wikipedia: Reichweite eines Projektils ).
Es ist jedoch nicht klar, was die Einheiten dieser Entfernung sind und wie sie sich auf Entfernungen in SKScene
übersetzen. Die Dokumentation von SKPhysicsBody
's velocity property tut dies nicht Einheiten erwähnen. Ich führe gerade einige Tests durch, um die Einheiten und die Zuordnung zum SKScene herauszufinden.
Hat jemand das schon herausgefunden?
Die Einheiten sind wahrscheinlich CGPoints / Sekunde
Ich habe etwas experimentiert, indem ich die Änderung der Position / Zeitänderung ausgedruckt habe und diese mit der Geschwindigkeitseigenschaft des Physikkörpers verglichen habe. Hier ist mein Code:
%Vor%Hier ist ein Teil der Ausgabe im Protokoll
%Vor%Ich folge daraus, dass die Entfernungseinheiten fast cgpoints / Sekunde sind. Die aktuelle Geschwindigkeit scheint die tatsächliche Geschwindigkeit nicht sehr gut darzustellen. Dies ist möglicherweise darauf zurückzuführen, dass die Messungen über verschiedene Zeitintervalle durchgeführt werden, wobei die m / s-Geschwindigkeit während der physikalischen Simulation gemessen wird und der cgpoint / zweite Geschwindigkeit während der Aktualisierungsfunktion gemessen wird. Allerdings scheint die m / s-Geschwindigkeit im Durchschnitt niedriger zu sein, was ich nicht erklären kann. vielleicht kommt es zu Rundungen, die ungenau sind
Aus dem SpriteKit-Programmierhandbuch:
Fudging der Zahlen Es ist zwar nützlich, das Sprite Kit zu kennen mißt Gegenstände im Internationalen Einheitensystem, worüber man sich Sorgen machen muß genaue Zahlen sind nicht so wichtig. Es spielt keine große Rolle, ob Ihr Raketenschiff wiegt 1 Kilogramm oder 1.000.000 Kilogramm Die Masse stimmt mit anderen physikalischen Werten überein, die im Spiel verwendet werden. Häufig sind Proportionen wichtiger als die tatsächlichen Werte verwendet.
Also Masse ist in kg, Impulse sind Newton-Sekunden, und Drehmoment ist in Newton, aber es ist wirklich nicht so wichtig, solange sie während Ihres Spiels konsistent sind.
Tags und Links ios sprite-kit game-physics