image

Velkommen til vores f├©rste tutorial om at lave et spil med Phaser 3. Her vil vi l├ªre hvordan man laver et lille spil med en figur, der kan l├©be og hoppe mellem platforme, samle stjerner op og undg├Ñ forhindringer. Undervejs i forl├©bet vil vi forklare nogle af de centrale egenskaber ved frameworket.

Hvad er Phaser?

Phaser er en HTML5-spilprogrammeringsplatform eller et framework, som skal g├©re det nemt og virkelig hurtigt for udviklere at lave robuste HTML5-spil til alle typer af browsere. Det er bygget specifikt til at g├©re brug af fordelene ved moderne browsere, b├Ñde p├Ñ computer og mobil. Det eneste krav til browserne er, at de underst├©tter canvas elementet.

N├©dvendige forberedelser

Download denne ZIP-fil som indeholder koden og grafikken til hvert trin i denne tutorial.

Du er n├©dt til at kende lidt til JavaScript, bare s├Ñdan helt grundl├ªggende.

S├©rg ogs├Ñ for at gennemg├Ñ guiden Kom i gang med Phaser 3. Den forklarer hvordan man downloader frameworket og opretter et lokalt udviklingsmilj├©, og den giver et glimt af strukturen og de centrale funktioner i et Phaser-projekt.

Hvis du har gennemgået guiden Kom i gang med Phaser, vil du have downloadet Phaser og fået sat alting op så du er klar til at programmere. Download filerne til denne tutorial og pak dem ud i roden af din lokale webserver.

Åbn siden part1.html i din foretrukne teksteditor og lad os se nærmere på koden. Efter en smule standard HTML, der indlæser Phaser, ser kode-strukturen således ud:

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 ()
{
}

Objektet config lader dig konfigurere dit Phaser-spil. Der findes masser af valgmuligheder for dette objekt, og efterh├Ñnden som du l├ªrer mere om Phaser vil du st├©de p├Ñ flere af dem. Men i denne tutorial indstiller vi blot en renderingsmaskine, spillets dimensioner og en standard Scene.

En instans af Phaser.Game klassen gemmes i den lokale variabel kaldet game, og konfigurationsobjektet medsendes som parameter. Det starter den process, der vækker Phaser til live.

I Phaser 2 var game-objektet knudepunkt for næsten alle interne systemer og blev ofte tilgået fra en global variabel. I Phaser 3 er dette ikke længerer tilfældet, og det er ikke længere nyttigt at gemme game-objektet i en global variabel.

Egenskaben type kan s├ªttes til enten Phaser.CANVAS, Phaser.WEBGL eller Phaser.AUTO. Det er den renderingskontekst, som du ├©nsker at dit spil skal benytte. Den anbefalede v├ªrdi er Phaser.AUTO som automatisk pr├©ver at benytte WEBGL, men som falder tilbage p├Ñ Canvas hvis browseren eller devicet ikke underst├©tter WEBGL. Det canvas-element som Phaser skaber, bliver blot f├©jet til dokumentet d├®r hvor scriptet bliver kaldt, men man kan ogs├Ñ specificere navnet p├Ñ et omgivende html-element i konfigurationsobjektet, hvis man ├©nsker det.

Egenskaberne width og height bestemmer st├©rrelsen p├Ñ det canvas-element som Phaser skaber. I dette tilf├ªlde 800 x 600 pixels. Din spilverden kan have enhver t├ªnkelig st├©rrelse, men dette er den opl├©sning, som dit spil vil blive vist i.

Egenskaben scene i konfigurationsobjektet gennemgår vi i flere detaljer senere i denne tutorial.