Pod maską this.add.image
tworzy nowy obiekt z grafiką oraz dodaje go do listy obiektów wyświetlanych na aktualnej scenie. Ta lista stanowi miejsce gdzie „żyją” wszystkie Twoje obiekty. Obrazek możesz wypozycjnować zasadniczo w dowolnym miejscu. Oczywiście jeżeli umieścisz go poza zaadeklarowanym obszarem od punktu 0x0 do 800x600 to nie będzie on widoczny. Taka grafika poza ekranem będzie jednak istniała na liście obiektów.
Sama w sobie scena nie posiada ograniczonych wymiarów i rozszerza się w nieskończoność w dowolnym kierunku. Camera System (system kamery) kontroluje wyświetlany obszar, możesz za jego pomocą przemieszczać i powiększać aktualny widok. Możesz również tworzyć dodakowe kamery dla innych widoków sceny. Temat ten wykracza poza poziom poradnika, który właśnie czytasz. Wystarczy podkreślić tu, że system kamer w trzeciej wersji Phasera jest o wiele bardziej zaawansowany niż w poprzednich wersjach. Pozwala on na tworzenie rzeczy niemożliwych chociażby w wersji drugiej.
Zbuduj teraz scenę poprzez dodanie tła oraz kilku platform. Oto nowa wersja funkcji create
:
var platforms;
function create ()
{
this.add.image(400, 300, 'sky');
platforms = this.physics.add.staticGroup();
platforms.create(400, 568, 'ground').setScale(2).refreshBody();
platforms.create(600, 400, 'ground');
platforms.create(50, 250, 'ground');
platforms.create(750, 220, 'ground');
}
Przeglądając powyższy fragment kodu zwróć uwagę na wywołanie this.physics
. Oznacza ono, że w tym przykładzie wykorzystujemy Arcade Physics system (system fizyki zręcznościowej). Zanim jednak go wykorzystamy musimy dodać odpowiednią opcję do konfiguracji. Zaaktualizuj obiekt config
w następujący sposób:
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
physics: {
default: 'arcade',
arcade: {
gravity: { y: 300 },
debug: false
}
},
scene: {
preload: preload,
create: create,
update: update
}
};
Nowościa w powyższym kodzie jest użycie właściwości physics
. Po wprowadzeniu kodu z tej części poradnika (znajduje się on w całości w pliku part4.html
) powinieneś zobaczyć coś co przypomina scenę z gry:
Mamy już podłoże i kilka platform ale jak to właściwie działa?