Wszystko, co próbuję zrobić, to móc przeciągać i upuszczać ikonkę na ekranie. Próbowałem następujący kod:Jak przeciągnąć i upuścić ikonkę w Swift 3.0?
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in (touches) {
let location = touch.locationInNode(self)
if ball.containsPoint(location) {
ball.position = location
}
}
}
Kod ten nie działa jednak, kiedy przeciągnij piłkę dość szybko, myślę, że okaże się, że „piłka” nie zawiera już punkt „Location” i piłka zatrzymuje się, co oznacza, że znowu wybieram piłkę. Chcę, aby piłka była w stanie szybko reagować na moje dotknięcia, aby piłka nie przestała się poruszać. Jak to zrobić?
Ponieważ musisz myśleć o tym logicznie, jeśli poruszasz się szybko, palec nie dotyka już piłki, gdy wykonuje test. Musisz użyć touchchesBegan, aby rozpocząć stan aktywacji przy użyciu Twojego kodu zawierającego containPoint, potem użyjesz dotknięć, po prostu przesuniesz piłkę, jeśli stan jest aktywny, nie sprawdzasz punktu, a następnie na dotknięciachUsuń lub dotknijKanał, wyłącz go, – Knight0fDragon