image

Witaj w pierwszym tutorialu dotyczącym tworzenia gier w Phaserze 3. Nauczysz się z niego jak stworzyć małą grę, w której gracz będzie biegał i skakał po platformach, kolekcjonował gwiazdki i unikał przeciwników. Podczas nauki przeprowadzimy Cię przez podstawowe funkcje frameworka.

Czym jest Phaser?

Phaser jest opartym na HTML5 frameworkiem służącym do tworzenia gier. Jego celem jest usprawnienie i przyśpieszenie procesu pisania zaawansowanych, przenośnych gier. Został on stworzony po to by wykorzystać zalety nowoczesnych przeglądarek, zarówno tych mobilnych jak i desktopowych. Jedynym wymaganiem Phasera jest obsługa znacznika canvas.

Wymagania

Pobierz ten plik zip – zawiera on każdy krok tego poradnika w postaci kodu oraz wymaganych plików.

Wymagana jest bardzo podstawowa wiedza na temat języka JavaScript.

Pamiętaj również by przeczytać Przewodnik wprowadzający, pokaże Ci on jak pobrać framework, skonfigurować lokalne środowisko, a także pozwoli rzucić okiem na strukturę projektu w Phaserze oraz jego podstawowe funkcje.

Jeżeli przebrnąłeś już przez Przewodnik wprowadzający, masz skonfigurowane środowisko testowe i możesz rozpocząć kodowanie. Pobierz pliki tego tutoriala i wypakuj je w głównym folderze Twojego serwera WWW.

Otwórz plik part1.html w Twoim ulubionym edytorze. Przyszedł czas na zapoznaniem się z kodem. Po linijkach dołączających Phaser oraz zawierających podstawowy HTML5 znajdziesz:

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

Obiekt config zawiera ustawienia Twojej gry. Istnieje wiele opcji, które możesz deklarować w tym obiekcie. Dowiesz się o nich stopniowo powiększając wiedzę o Phaserze. W tym poradniku ustawimy jedynie sposób renderowania, wymiary i domyślną scenę.

Instancja objektu Phaser.Game jest przypisana do lokalnej zmiennej nazwanej po prostu game i obiekt zawierający konfigurację jest do niej przekazywany. Tak rozpoczyna działanie framework.

W wersji drugiej Phasera obiekt game zachowywał się jak interfejs udostępniający wszystkie wewnętrzne systemy i często wykorzystywany był poprzez globalną zmienną. Phaser 3 nie działa w taki sposób i nie udostępnia już globalnej instancji gry.

Właściwosć type może przyjąć wartości Phaser.CANVAS, Phaser.WEBGL albo Phaser.AUTO. Opcja ta określa metodę renderowania grafiki. Rekomendowana wartość Phaser.AUTO sprawia, że Phaser spróbuje uruchomić się w trybie WebGL i automatycznie zmieni sposób renderowania na canvas jeżeli tryb ten nie jest obsługiwany przez przeglądarkę. Element canvas, w którym renderowana jest gra, zostanie dodany do dokumentu w miejscu wywołania skryptu lub można go umiejscowić za pomocą odpowiedniej konfiguracji w innym elemencie nadrzędnym dokumentu.

Właściwości width i height odpowiadają za rozmiar tworzonego przez Phaser elementu canvas. W tym przypaddku będzie to 800 na 600 pikseli. Świat gry może skalować się do dowolnych rozmiarów ale zostanie wygenerowany właśnie w takiej rozdzielczości.

Parametr scene zostanie dokładniej opisany w dalszej części tego poradnika.