Es gibt immer anderen Weg, etwas zu tun - das ist die Programmierung! Aber, wie Rube Goldberg unten zeigt, ist eine andere Art und Weise vielleicht nicht die beste/einfachste Weg:
touchesEnded
Verwenden Sie machen wie eine Art ‚schleudern‘ Geste, die etwas begrenzt werden kann darin Fähigkeiten .
Beispiel Wenn Sie möchten, dass das Objekt kontinuierlich eine Geschwindigkeit von einigen f von x erreicht/kleine Pfadänderungen vornimmt (ohne den Finger heben zu müssen), können Sie touchesMoved
verwenden. Füllen Sie es mit den Berechnungen/Funktionen, die Sie mögen.
Beispiel: ein Knoten mit Ihrem Touch ziehen:
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
//-Main touch processoereor
for touch in touches {
let TPOINT = touch.locationInNode(self)
my_super_cool_node!.position = TPOINT
// Put math stuff here, etc.
}
}
Dies gibt Ihnen viel mehr Kontrolle darüber, was von Punkt A zu Ihrem Sprit passiert B.
Hier-zu-Punkt ist ein gutes Tutorial:
http://www.globalnerdy.com/2016/02/02/writing-ios-games-with-swift-and-sprite-kit-part-2-responding-to-touches/
Und Sachen Apple: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIResponder_Class/#//apple_ref/occ/instm/UIResponder/touchesMoved:withEvent:
Leider werden die besten Dinge in SpriteKit erfordern einige clevere Implementierungen/Mathematik, und kann nicht alles mit dem Szeneneditor und und Knoten getan werden.
Was Sie sprechen tun ist eine ziemlich Routine (Mathematik) -Funktion, die Entfernung Formel, so ist es ziemlich vorteilhaft, eine tatsächliche func
daraus zu machen, so dass Sie es anpassen können und nicht manuell schreiben müssen eine Menge Code für jede Sache, die Sie tun möchten. SK macht die Dinge schon super leicht. Schon die einfache Hallo Welt mit spinnigen Raumschiffen wäre mit C++ Direct3d/OpenGL (und jeder Menge fortgeschrittener Mathematik) schon tausend Zeilen Code (oder mehr) gewesen.
Der SK-Editor ist großartig, und mit ein wenig Programmierung auf dem Backend können Sie wirklich volle Spiele nur vom Editor machen.
Warum brauchen Sie einen anderen Weg? Es funktioniert wie du es beschreibst ... Zeigt wo du anfängst und wo du endest. Einfach, einen Vektor zwischen den zwei Punkten zu berechnen. – Kendel
Vielleicht möchte Alex etwas _more_ zu seinen Objektbewegungen :) sehe meine Antwort. – Fluidity
Kendel, ich brauchte keinen anderen Weg, wollte einfach nicht für etwas codieren, das eine fertige Lösung hat, scheint, als ob dies der einfachste Weg ist ... – Alex