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 Tworzenie czujników w grze

     Czujniki są bardzo pożytecznymi elementami nie tylko w grach. W systemach alarmowych mogą między innymi służyć do ochrony terytorium i jak wiemy w wielu muzeach/bankach przekroczenie pewnego strzerzonego przez np. wiązkę światła obszaru włączy alarm. Podobny mechanizm możemy uruchomić w grach.

    Czujniki mają to do siebie, że same nie atakują nikogo ani nie wywołują żadnej siły na tym, kto wejdzie w rewir ich działanie. One jedynie coś sygnalizują a często też włączają np. alarm czy też jakąś zapadkę lub po prostu otwierają drzwi.

W grach często wykorzystywane są takie elementy i np. przekroczenie pewnego obszaru spowoduje, że otworzą się drzwi w jakimś pomieszczeniu. Do tego wykorzystwyane są sensory czyli czujniki. Zobaczmy jak to wygląda w praktyce.

Do naszego kodu dodajmy:

podloze.isSensor=true

Co sprawi, że podłoże stanie się sensorem czyli czujnikiem. Co się stanie, gdy piłka się z nim zderzy? Zobaczmy sami na obrazku...

corona_sdk_79.jpg

Co jest! Obiekt, który jest statyczny wypuścił piłkę mimo, że się z nim zderzyła! Tak, bo od tej pory stał się tylko czujnikiem. Zatem piłka wpadając na niego nie odbiłą się ani nie zatrzymała tylko jakby go nie było poleciała dalej.

To co nam daje w takim razie czujnik? Daje nam bardzo dużo, bo kolizje nadal są wykrywane a tym samy możemy się dowiedzieć, że piłka spadła i poleciała dalej co zostanie zasygnalizowane zdarzeniem, które możemy nasłuchiwać i po jego pojawieniu się wykonać stosowną akcję, np. pościg za zbiegiem czy też alarm w całej galaktyce...

Zobaczmy zatem jak wykorzystać nasz czujnik w praktyce. Teraz po upadku piłki przez nasze podłoże wyświetlimy napis "Pilka ucieka!".

Dodajmy do kodu dodatkowo:

function pilka_ucieka(event)
    if 
event.phase=="began" 
then
        local moj_tekst
=display.newText("Pilka ucieka!",200,200,native.systemFont,30
)
    
end
end

podloze
:addEventListener("collision"pilka_ucieka)

Tym razem tworzymy na końcu "szpiega", który będzie wyłapywał kolizje z podłożem i gdy ona się zdarzy to wywoła funkcję pilka_ucieka. Jej zaś zadaniem będzie w fazie began, czyli startu wyświetlić tekst na ekranie o nazwie "Pilka ucieka!" w punkcie x,y=200 o wielkości czcionki 30.

corona_sdk_80.jpg

Zobaczmy to w praktyce. Gdy tylko spadająca pod wpływem grawitacji piłka dotknie naszego czujnika, którym jest obiekt "podloze" to uruchomi się kolizja w wyniku czego wywołana funkcja pilka_ucieka wyświetli wspomniany przed chwilą napis, co widać obok na zdjęciu.



Czytaj dalej: Fizyka w grach 2d - Android
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