Dodali┼ømy troch─Ö kodu w obr─Öbie funkcji create, kt├│ry wymaga wy┼éumaczenia. Sp├│jrz najpierw tu:
platforms = this.physics.add.staticGroup();
Ten fragment tworzy now─à grup─Ö Static Physics (fizyka statyczna) i dodaje j─à do lokalnej zmiennej platforms. W Arcade Physics istniej─à dwa typy fizyki cia┼é: dynamiczna oraz statyczna. Dynamiczne cia┼éo to takie, kt├│re mo┼╝e porusza─ç przy uwzgl─Ödnieniu pr─Ödko┼øci i przy┼øpieszenia. Mo┼╝e tak┼╝e odbija─ç si─Ö i zderza─ç z innymi obiektami, a na jego kolizje wp┼éywa masa w┼éasna oraz innych cia┼é.
Najpro┼øciej to ujmuj─àc, Static Body (cia┼éo statyczne) po prostu posiada pozycj─Ö i rozmiar. Nie wp┼éywa na nie grawitacja, nie posiada pr─Ödko┼øci i nigdy si─Ö nie przemieszcza. Taki obiekt jest statyczny dos┼éownie i w przeno┼øni. Idealnie nadaje si─Ö do tworznenie platform, po kt├│rych mo┼╝e si─Ö przemieszcza─ç posta─ç┬áw grze.
Czym w┼éa┼øciwie jest grupa? Jak sama nazwa wskazuje s┼éu┼╝y ona do zbierania i kontrolowania podobnych obiekt├│w. Za pomoc─à grup mo┼╝esz sprawdza─ç kolizj─Ö mi─Ödzy wieloma obiektami r├│wnocze┼ønie. W obr─Öbie grup mo┼╝na r├│wnie┼╝ tworzy─ç nowe obiekty. S┼éu┼╝─à do tego funkcje pomocnicze takie jak create. Korzystanie z grup typu fizycznego oszcz─Ödza kodowania. Nowopowsta┼ée elementy potomne nale┼╝─àce do grupy posiadaj─à ju┼╝ zadeklarowan─à fizyk─Ö.
Przy pomocy dodanej powy┼╝ej grupy mo┼╝emy stworzy─ç platformy:
platforms.create(400, 568, 'ground').setScale(2).refreshBody();
platforms.create(600, 400, 'ground');
platforms.create(50, 250, 'ground');
platforms.create(750, 220, 'ground');
Jak widzia┼ée┼ø poprzednio ten kod stworzy scen─Ö:

Podczas ┼éadowania zaimportowali┼ømy obrazek 'ground'. Jest to prosty zielony prostok─àt o wielko┼øci 400 na 32 piksele. Pos┼éu┼╝y nam on jako prosta platforma:

Pierwsza linijka powy┼╝szego kodu stworzy pod┼éo┼╝e w pozycji 400 na 568 (przypominamy, ┼╝e obrazki s─à pozycjonowane w oparciu o ich centralny punkt) - problem polega na tym, ┼╝e musimy rozci─àgn─à─ç t─Ö platform─Ö na ca┼é─à szeroko┼ø─ç okna gry, w innym przypadku gracz b─Ödzie m├│g┼é wypa┼ø─ç poza ten obszar. Aby uzyska─ç pod┼éo┼╝e na ca┼é─à szeroko┼ø─ç u┼╝ywamy funkcji setScale(2). Grafika ground b─Ödzie teraz mia┼éa 800 x 64 piksele, co doskonale pasuje do naszych potrzeb. Aby wprowadzi─ç zmian─Ö b─Ödziemy jeszcze musieli u┼╝y─ç funkcji refreshBody() poniewa┼╝ przeskalowali┼ømy obiekt typu static physics body, musimy wi─Öc powiadomi─ç program o zmianach, kt├│re dokonali┼ømy.
Podłoże jest przeskalowane i w odpowiednim miejscu, możemy więć zająć się pozostałymi platformami:
platforms.create(600, 400, 'ground');
platforms.create(50, 250, 'ground');
platforms.create(750, 220, 'ground');
Proces jest identyczny jak za poprzednim razem, pomijaj─à─ç to, ┼╝e nie musimy ju┼╝ przeskalowywa─ç platform.
Trzy platformy s─à rozmieszczone na ekranie gry, odpowiedni dystans pozwoli graczowi na przemieszczanie si─Ö po nich.
Dodajmy zatem posta─ç gracza.