Jak sprawić, by obiekt przesunął się w miejsce dotyku
Robi się coraz ciekawiej. Tym razem zajmiemy się tym, by obiekt przemiścił się w miejsce gdzie klikniemy.
By nie komplikować sprawy posłużę się poprzednio utworzonym już kodem i go jedynie nieco zmodyfikuję. Mamy zatem wyświetlony obiekt - piłkę plażową klikając bądź też dotykając ją wywoływaliśmy akcję ściśle określoną w funkcji.
local pilka_plazowa = display.newImage("pilka_plazowa.png")
function odczyt(event)
if event.phase=="began" then
pilka_plazowa.x=event.x
pilka_plazowa.y=event.y
end
end
Runtime:addEventListener("touch", odczyt)
Zmiany jakie tu wykonałem w porównaniu do uprzedniego kodu to:
- w funkcji odczyt zamiast powodować, ze piłka zniknie ustawiłem współrzędne w której się obecnie piłka znajduje na współrzędne punktu który został dotknięty czyli pilka_plazowa.x=event.x i analogicznie dla osi y.
- Drugą zmianą jaką trzeba było wykonać to zmienić pilka_plazowa:addEventListener na Runtime:addEventListener dlatego, że chcemy wywołać zdarzenie nie wtedy, gdy klikniemy na piłce lecz w dowolnym punkcie ekranu
Piłka pod wpływem dotyku przemieściła się w dół. Każde kliknięcie/dotknięcie zmienia położenie piłki. |
Czytaj dalej: Obsługa dotyku w smartfonach



