Geschwindigkeitseinheiten in SpriteKit

9

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?

    
Bram De Geyter 05.01.2014, 11:52
quelle

2 Antworten

3

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

    
eric bob 20.08.2015, 21:43
quelle
0

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.

    
macshome 06.01.2014 21:33
quelle

Tags und Links