Jako první nahrajeme assety potřebné pro naši hru. To provedeme voláním metod objektu Phaser Loader uvnitř funkce preload, která patří objektu Scene. Phaser automaticky vyhledá tuto funkci při startu a nahraje vše, co je v ní určeno.

Dosud byla funkce preload prázdná. Upravte ji takto:

function preload ()
{
    this.load.image('sky', 'assets/sky.png');
    this.load.image('ground', 'assets/platform.png');
    this.load.image('star', 'assets/star.png');
    this.load.image('bomb', 'assets/bomb.png');
    this.load.spritesheet('dude', 
        'assets/dude.png',
        { frameWidth: 32, frameHeight: 48 }
    );
}

Toto nahraje 5 assetů: 4 obrázky a sprite sheet (sprite sheet je obrázek obsahující více jednotlivých snímků se stejnými rozměry rovnoměrně rozmístěných do pomyslné mřížky). Všimněte si prvního parametru ('sky', 'bomb') - přesto, že někomu to může být zřejmé, chtěl bych zdůraznit, že se jedná o klíč k assetu. Tento klíč představuje přístup k nahranému assetu a budete ho používat při vytváření herních objektů (Game Objects). Jako klíč je možné použít jakýkoli platný JavaScriptový řetězec.

Zobrazení obrázku

Abychom zobrazili jeden z obrázků, které jsme nahráli, přidejte následující kód do vnitřku funkce create:

this.add.image(400, 300, 'sky');

Naleznete to v souboru part3.html. Pokud ho nahrajete do prohlížeče, měli byste vidět modrou oblohou na pozadí přes celou herní obrazovku:

image

Hodnoty 400 a 300 jsou x a y souřadnice obrázku. Proč zrovna 400 a 300? To je proto, že všechny herní objekty jsou ve výchozím stavu vycentrovány. Obrázek s pozadím má rozměry 800 x 600 pixelů, takže pokud bychom ho zobrazili vycentrovaný na pozici 0 x 0, viděli bychom jenom jeho pravý dolní roh. Pokud ho zobrazíme na pozici 400 x 300, uvidíme ho celý.

Tip: Ke změně můžete použít setOrigin. Například, kód: this.add.image(0, 0, 'sky').setOrigin(0, 0) nastaví vykreslovací pozici obrázku na jeho levý horní roh. Ve Phaseru 2 se toho dosahovalo použitím vlastnosti anchor, ale ve Phaseru 3 se místo toho používají vlastnosti originX a originY.

Pořadí, ve kterém jsou herní objekty zobrazené odpovídá pořadí, ve kterém jste je vytvořili. Takže pokud chcete umístit sprite s hvězdou přes pozadí, musíte se ujistit, že byl přidán až jako druhý po obrázku s oblohou:

function create ()
{
    this.add.image(400, 300, 'sky');
    this.add.image(400, 300, 'star');
}

Pokud umístíte obrázek star jako první, bude zakrytý obrázkem oblohy.