Ta strona stosuje pliki cookies. Poczytaj co to jest w polityka cookies



Tworzenie gier 2D i 3D
Animacja 2d
Grafika 3D
Tworzenie muzyki

Kącik początkującego

Gimp Jak usuwać obiekty przez dotyk Android

Jak usuwać dotknięte obiekty

    Zróbmy teraz miniprogramik, który sprawi, że gdy dotkniemy piłkę to ona zniknie a gdy zabierzemy rękę to ona się znowu pojawi.

Nie będziemy musieli wprowadzać zbyt wiele zmian w porównaniu do poprzedniego przykładu - zobaczmy sami:

local pilka_plazowa display.newImage("pilka_plazowa.png")

function  
odczyt(event
)
  if 
event.phase=="began" 
then 
    pilka_plazowa.isVisible=false

 
end

  if event.phase=="ended" then
    pilka_plazowa.isVisible=false
  
end

end
pilka_plazowa
:addEventListener("touch"odczyt)

 W funkcji obsługującej dodajemy tylko informację o tym, że przy fazie dotyku należy wyłączyć wyświetlanie piłki ustawiając parametr isVisible na false. To działa znakomicie. Po uruchomieniu i kliknięciu na piłkę ona faktycznie znika. Jest jednak problem z tym, żeby się pojawiła... Puszczenie ekranu lub lewego klawisza myszy nie sprawia, że piłka wróci na ekran. Wiecie już dlaczego?

Ano dlatego, że linijka:

pilka_plazowa:addEventListener("touch"odczyt)

obsługuje zdarzenie dotyczące piłki ale skoro piłka zniknęła to nasz szpieg przestał się tym interesować a on przecież reaguje tylko na piłkę a przy puszczaniu kliknięcie jej już tam nie ma... Wiec nic druga część nie zadziała niestety...

Jak można ten problem rozwiązać? W naszym przykładzie możemy sobie pozwolić na banalne rozwiązanie bo wystarczy dodać:

Runtime:addEventListener("touch"odczyt

i piłka będzie pojawiać się z powrotem gdy puścimy kliknięcie czy dotyk. Nie zawsze możemy sobie pozwolić na takie rozwiązanie, bo przecież w tej sytuacji każdy dotyk w ekran będzie owocował pojawieniem się piłki w przypadku upuszczenia dotyku no ale to już problem na inny temat ja go tylko tu sygnalizuję...

Jak całkowicie usunąć obiekty z ekranu w Corona SDK?

Niekiedy będziemy chcieli się całkowicie pozbyć obiektów z ekranu wówczas trzeba zastosować inną funkcję czyli zamiast:

pilka_plazowa.isVisible=false

Trzeba wstawić w kod:

pilka_plazowa:removeSelf()



Czytaj dalej: Obsługa dotyku w smartfonach
Warning: include_once(includes/rss_fetch.php) [function.include-once]: failed to open stream: No such file or directory in /home/ekoinst/domains/pcwiedza.pl/public_html/tworzenie-gier/includes/funkcje.php on line 548

Warning: include_once() [function.include]: Failed opening 'includes/rss_fetch.php' for inclusion (include_path='.:/opt/alt/php52/usr/share/pear:/opt/alt/php52/usr/share/php') in /home/ekoinst/domains/pcwiedza.pl/public_html/tworzenie-gier/includes/funkcje.php on line 548

Różne

copyright © Pcwiedza.pl