Phaser podporuje cel├¢ rad r├┤znych fyzik├ílnych syst├®mov. Funguj├║ ako pluginy dostupn├® v ka┼¥dej sc├®ne. V ─ìase tvorby tohto kurzu bola dostupn├í ark├ídov├í fyzika a fyzik├ílne enginy Impact Physics a Matter.js. V tomto kurze pou┼¥├¡v├íme jednoduch├║ a od─¥ah─ìen├║ ark├ídov├║ fyziku, ktor├í je perfektn├í pre mobiln├® prehliada─ìe.

Ke─Å sa vytvor├¡ fyzik├ílny sprite, je mu priraden├í vlastnos┼Ñ body, ─ìo je referencia na jeho fyzik├ílne teleso v syst├®me ark├ídovej fyziky. Objekt 'body' m├í ve─¥a vlastnost├¡ a met├│d, s ktor├¢mi sa m├┤┼¥e┼í pohra┼Ñ.

Napríklad, ak chceme simulovať efekt gravitácie, tak jednoducho napíšeme:

player.body.setGravityY(300)

Argumentom je ─¥ubovoln├í hodnota, ale je logick├®, ┼¥e vy┼í┼íia hodnota znamen├í rychlej┼í├¡ p├íd. Ak prid├í┼í tento k├│d alebo spust├¡┼í part5.html, uvid├¡┼í hr├í─ìa padaj├║ceho dole a ignoruj├║ceho ter├®n, ktor├¢ sme vytvorili:

image

D├┤vodom tohto spr├ívania je to, ┼¥e zatia─¥ e┼íte netestujeme kol├¡zie medzi ter├®nom a hr├í─ìom.

U┼¥ sme frameworku Phaser povedali, ┼¥e n├í┼í ter├®n a plo┼íinky s├║ statick├® teles├í. Ak by sme to neurobili a vytvorili by sme dynamick├® teles├í, potom, ak by sa hr├í─ì s nimi zrazil, tak by sa na chv├¡─¥ku zastavil a potom by sa v┼íetko rozpadlo. Ak nie je povedan├® inak, sprite pre ter├®n je dynamick├¢ a ke─Å do neho hr├í─ì naraz├¡, tak v├¢sledn├í sila kol├¡zie je na neho aplikovan├í. Teles├í si vymenia svoju r├¢chlos┼Ñ a podlaha za─ìne tie┼¥ pada┼Ñ.

Aby sme umo┼¥nili hr├í─ìovi kolidova┼Ñ s plo┼íinkami, vytvor├¡me si objekt Collider. Tento objekt monitoruje dva fyzik├ílne objekty (aj pr├¡padn├® skupiny) a testuje kol├¡ziu alebo prekrytie medzi nimi. Ak d├┤jde ku kol├¡zii, tak je mo┼¥n├® volite─¥ne vyvola┼Ñ callback, ale pri jednoduchej kol├¡zii s plo┼íinkami ho nepotrebujeme.

this.physics.add.collider(player, platforms);

Collider je ten, kto ─ìaruje. Vezme si dva objekty a otestuje, ─ìi koliduj├║. V na┼íom pr├¡pade mu d├ívame hr├í─ìa a skupinu plo┼íiniek. Collider je dostato─ìne chytr├¢ na to, aby otestoval kol├¡ziu so v┼íetk├¢mi ─ìlenmi skupiny, tak┼¥e toto jedin├® volanie otestuje kol├¡ziu s ter├®nom a v┼íetk├¢mi plo┼íinkami. V├¢sledkom jeho pr├íce je to, ┼¥e plo┼íinky sa spr├ívaj├║ naozaj staticky:

image