Vítejte v našem prvním tutoriálu o vytvoření hry ve Phaseru 3. Naučíme se zde, jak vytvořit malou hru s hráčem, který běhá a skáče po plošinkách, sbírá hvězdy a vyhýbá se nepřátelům. Během tvorby si vysvětlíme některé základní rysy frameworku.
Co je Phaser?
Phaser je HTML5 framework pro tvorbu her a jeho cílem je pomoci vývojářům vytvářet kvalitní HTML5 hry spouštěné v prohlížečích opravdu rychle. Vytvořen byl přímo k využití výhod moderních prohlížečů, desktopových i mobilních. Jediný požadavek na prohlížeč je podpora tagu canvas.
Příprava
Stáhněte si tento soubor zip, který obsahuje kód pro každý krok tohoto tutoriálu a také assety, které budeme potřebovat. Jako assety souhrnně označujeme obrázky, zvuky, fonty a další obdobné položky, které naše hra používá.
Dále budete potřebovat opravdu základní znalost JavaScriptu.
Také si projděte Jak začít, kde se dozvíte, jak framework stáhnout, nastavit lokální vývojové prostředí a kde získáte přehled o struktuře projektu ve Phaseru a jeho základních funkcích.
Pokud jste prošli Jak začít, tak máte stažený Phaser a vše nastavené a připravené. Stáhněte si zdroje pro tento tutoriál a rozbalte je do kořenové složky svého webu (web root).
Otevřete stránku part1.html
v editoru, který používáte a podíváme se blíže na kód, který obsahuje. Pokud přeskočíme základní HTML kód, který do stránky vkládá Phaser, pak struktura kódu vypadá takto:
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
scene: {
preload: preload,
create: create,
update: update
}
};
var game = new Phaser.Game(config);
function preload ()
{
}
function create ()
{
}
function update ()
{
}
Objekt config určuje, jak nakonfigurujete svou hru. Existuje mnoho vlastností, které zde mohou být nastaveny a s většinou se střetnete během rozvíjení svých znalostí Phaseru. V tomto tutoriálu jen nastavíme renderer, rozměry a výchozí scénu (objekt Scene).
Konfigurační objekt config použijeme při vytváření instance objektu Phaser.Game, kterou uložíme do lokální proměnné game
. To zahájí inicializaci Phaseru.
Ve Phaseru 2 objekt game
fungoval jako brána k téměř všem interním systémům a často se k němu přistupovalo z globální proměnné. Ve Phaseru 3 toto neplatí a nemá nadále smysl ukládat ho do globální proměnné.
Vlastnost type
může být buď Phaser.CANVAS
, Phaser.WEBGL
nebo Phaser.AUTO
. Určuje kontext pro vykreslování (rendering context), který chcete použít pro svou hru. Doporučená hodnota Phaser.AUTO
automaticky zkusí využít WebGL, ale pokud ho prohlížeč nebo zařízení nepodporuje, tak využije Canvas. Prvek canvas, který Phaser vytvoří je jednoduše připojen k dokumentu v tom místě, kde byl volán skript. Ale pokud chcete, můžete v objektu config také specifikovat rodičovský kontejner (vlastnost parent
).
Vlastnosti width
a height
nastavují velikost prvku canvas na stránce, který Phaser vytvoří. V našem případě 800x600 pixelů. Váš herní svět může mít libovolnou velikost, ale toto je rozlišení, ve kterém bude hra zobrazena.
Vlastnost scene
konfiguračního objektu bude rozebrána detailněji dále v tomto tutoriálu.