Ich möchte die touchBegan-Funktionalität in meinem UIView verwenden und ich sollte SKScene-Methoden auslösen. Alles wird fast funktionieren, erwarte die Tatsache, dass sich die Startposition meines SKNode von der Note in der UIView unterscheidet. Ich lese darüber hier: Confusing reversed touch event in Swift, aber sie geben keine Lösung, wie man eine UIView-Touch-Geste in eine SKScene-Touch-Geste übersetzt, die der Touch-Position entspricht. Das funktioniert:Standort in UIView in SKScene übersetzen
Aber ich lege eine UIView darüber, und diese Funktion funktioniert nicht mehr. Wenn ich es zu diesem ändern:
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
var currentPoint = touch.location(in: newUIView)
executeSpawningStar(startPosition: currentPoint)
}
}
Das Laichen sieht sehr seltsam aus. Die Koordinationen des Laichsterns sind nicht korrekt. Wie kann ich die korrekten Koordinaten von den UIView- zu den SpriteKit-Einstellungen übertragen, um sie an die tatsächliche Position der Touch-Geste anzupassen?
Danke, aber wie diese Funktion hinzufügen? Swift sagt mir, dass ich ein {} damit machen soll. Wenn ich nur die Zeile currentPoint = convert (currentPoint, zu: gameScene) schreibe sagt es die Verwendung von unaufgelösten Bezeichnern umwandeln. Edit: Ich habe es zur Arbeit gebracht –