2016-08-01 18 views
1

ich eine SKPhysicsBody in meiner Szene haben, dass ich einen Impuls gelten, wenn der Benutzer drückt einen Knopf, um es nach vorne zu machen bewegen. Aufgrund seiner Eigenschaften ist, ist es nicht viel bewegen mit einem einzigen Antippen und verlangsamt ziemlich schnell nach unten, jedoch mit mehreren Hähnen hebt es auf Geschwindigkeit, wie erwartet.ändern Reibungslos Richtung eines Momentum des SKPhysicsBody

Ich habe eine andere Taste für den Benutzer so zu erschließen, dass der Körper es ist die Richtung wechseln kann. Meine aktuelle Implementierung wendet einen Winkelimpuls auf den Körper an, um ihn zu drehen - wiederum bedeuten die Eigenschaften des Körpers, dass, wenn der Benutzer schnell auf den Drehknopf mehrfach tippt, der Körper länger braucht, um sich zu drehen.

Derzeit, wenn der Körper dreht sein Impuls ändert nicht die Richtung (was ist, was ich von jeder Physik Bibliothek erwarten würde) - damit der Benutzer tatsächlich den Körper bewegen in die neue Richtung, die sie in sie haben hektisch den Vorwärtsknopf drücken, um zu versuchen, sein vorheriges Momentum zu verlangsamen. Natürlich scheint der Körper bei hohen Geschwindigkeiten zu rutschen.

Wie kann ich mehr „Auto-like“ Physik für den Körper implementieren? „Car-like“, dass, wenn der Körper dreht es Momentum ist aktualisiert bei jedem Intervall reibungslos in einer neuen Richtung. Kann das einfach gemacht werden, oder muss ich ein temporäres Seil, ein Schwerkraftfeld oder einen Vortex benutzen?

A diagram speaks 2000 words

+0

Haben Sie versucht, applyForce (_: bei :)? –

+0

@SimonePistecchia Es macht keinen großen Unterschied :( –

Antwort

0

eine Kraft oder ein Impuls in SpriteKit Anwendung in Bezug auf das globale Koordinatensystem angewendet wird, nicht das lokale System von dem Zielknoten koordinieren.

You'll need to manually rotate the vector of force to match the node's rotation, before applying it.

+0

Richtig, ich habe das schon gut funktioniert, meine Frage ist über die Änderung der Richtung des Impulses anstatt wie Impulse in Vorwärtsrichtung anzuwenden –

+0

Sorry, ich missverstanden kann möglicherweise die körpereigene 'velocity' Eigenschaft das Ergebnis zu erzielen, durch drehen des das Autos passen, wann immer Sie es drehen. – cpimhoff

+0

eigentlich, dass vernünftig klingt, wäre das einzige, was machen .. es glatt ich denke, ich könnte die Drehung des Fahrzeugs überprüfen Eigenschaft jedes Update und ändern Sie die Geschwindigkeit anzupassen, obwohl das klingt ineffizient –

Verwandte Themen