Also im Grunde habe ich die coin
Objekt, und ich möchte es über den Bildschirm starten. Ich habe den folgenden Code, der auf dem Swipe einige Berechnungen ausgeführt wird, aber nicht sicher, was für meine aktuelle Situation relevant ist:Bewegen SpriteNode in Richtung eines Swipe mit einer voreingestellten Geschwindigkeit
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
touching = true
let touch = touches.first
let loc = touch?.locationInNode(self)
if coin.containsPoint(loc!){
touchPoint = loc!
touchTime = (touch?.timestamp)!
}
}
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
touching = false
let touch = touches.first
let loc = touch?.locationInNode(self)
var xDiff = (loc?.x)! - touchPoint.x
var yDiff = (loc?.y)! - touchPoint.y
let distance = sqrt(xDiff * xDiff + yDiff * yDiff)
}
Ich mag die Münze im Wesentlichen in Richtung der Swipe geworfen werden, aber ich will es um jedes Mal eine bestimmte y-Koordinate auf dem Bildschirm zu erreichen, bevor sie aufgrund der Schwerkraft wieder absinkt. Also muss ich wohl jedes Mal die perfekte Geschwindigkeit berechnen, um den Y-Punkt zu erreichen, und dann das Objekt coin
mit dieser Geschwindigkeit in die Swipe-Richtung schieben?
Jede Hilfe sehr geschätzt! Ich bin online für die nächsten Stunden, fragen Sie nach weiteren Informationen und ich werde Ihnen schnell antworten können.
Angenommen, ich verstehe, was Sie fragen, ist es wirklich bemerkenswert schwierig - wie ** wirklich ** schwierig, dieses ziemlich häufige Problem in der Spielphysik zu lösen. Hier ist eine QA darüber https://math.stackexchange.com/q/166039/34973 – Fattie
Umgekehrt ist es möglich, dass Sie nur diese einfache Frage stellen: https://stackoverflow.com/a/46919374/294884 – Fattie