Fizyka w grach 2d - Android
Silniki do tworzenia gier zdejmują z programistów ogromny ciężar tworzenia wszystkiego od zera. Jednym z elementów, które wymagają dużego wkładu czasowego i intelektualnego jest odwzorowanie zjawisk fizycznych w świecie gry. Często w "grę" wchodzi matematyka wyższa. No cóż... w Corona SDK wystarczy ją tylko włączyć...
Włączamy fizykę w grach
Samo utworzenie i wyświetlenie bohaterów czy też przeciwników to jedno a umieszczenie ich w świecie odwzorowującym świat na ziemi, na księżycu czy też na innej planecie to drugie. Bardzo pomocny jest wówczas silnik fizyki gier.
Gdy go uruchomimy i naszym postaciom w grze nadamy właściwość dynamiczną to wówczas będą one podlegać prawom fizyki takim jak np. grawitacja. W związku z czym te obrazki/obiekty, które dodamy do silnika fizyki natychmiast zaczną spadać w dół (o ile grawitacja jest dodatnia na naszej planecie) i w zależności czy będą miały się na czym zatrzymać to pozostaną w zasięgu naszego wzroku, czyli na ekranie, bo w przeciwnym przypadku przepadną w otchłani spadając w dół smartfonu poniżej tego co jest aktualnie wyświetlane.
Żeby nie mówić tylko teoretycznie to zajmijmy się przykładem, który wyświetli piłkę spadającą w dół pod wpływem grawitacji.
local physics = require("physics")
physics.start()
local pilka_plazowa_mala = display.newImage("pilka_plazowa_mala.png")
physics.addBody(pilka_plazowa_mala, {density=1, friction=0.5, bounce=0.3})
- Najpierw dołączamy do naszego kodu bibliotekę physics za pomocą polecenia require. Następnie włączamy ją poleceniem physics.start().
- Wyświetlamy małą piłkę pilka_plazowa_mala.png (warto ją ściągnąć na dysk i dołączyć do projektu) - bo przecież w naszym świecie muszą być jakieś obiekty, żeby mogła działać na nie grawitacja i inne prawa fizyki...
- Gdybyśmy teraz uruchomili program to piłka pojawiłaby się nieruchomo w lewym górnym rogu. Nic by się nie stało. Dlaczego?
Bo musimy jeszcze naszą piłkę dołączyć do świata fizyki poleceniem addBody. Parametry jakie musimy ustawić to density- gęstość, friction - tarcie oraz baunce - odbicie/sprężystość podczas kolizji.
Teraz, gdy uruchomimy nasz program to piłeczka poleci w dół podobnie jak naszym świecie by się to stało pod wpływem przyciągania ziemskiego. |
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