В моей функцииСмешение вспять сенсорный событие в Swift
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){
for touch in touches{
let touchLocation = touch.location(in: self.view)
print("X: \(touchLocation.x) Y: \(touchLocation.y)")
}
}
я получаю обратное значение Y. Если я нажимаю вверху, я получаю значение ~ 0, и если я нажимаю внизу, я получаю большую ценность. Это делает мой спрайт im движущимся движением в неправильном направлении Y.
Однако, если я удаляю '.view' в self.view, он работает так, как должен. Кто-нибудь знает, почему это изменилось, когда я использую self.view?
Какой тип 'self'? – dan
@dan Это SKView ... – Whirlwind
И это происходит из-за разницы между системой координат UIKit и SpriteKit. UIKit имеет 0,0 в верхнем левом углу. Таким образом, по мере того, как OP уже выяснил, использование самого себя (которое является сценой) будет работать так, как ожидалось. – Whirlwind