image

Bem-vindo ao nosso primeiro tutorial 'Fazendo um jogo com Phaser 3'. Nós vamos aprender como criar um pequeno jogo sobre um jogador correndo e pulando por plataformas, colecionando estrelas e evitando os inimigos. Ao passar por este processo, vamos explicar alguns dos principais recursos do framework.

O que é Phaser?

Phaser é um framework de jogos que visa ajudar os desenvolvedores a criarem jogos poderosos, multi-navegadores, muito rápido. Foi criado especificamente para aproveitar os benefícios dos navegadores modernos, tanto para desktop quanto para dispositivos móveis. O únicos requisito do navegador é suporte do elemento canvas.

Requisitos

Baixe este aquivo zip que contém cada passo deste tutorial em códigos e assets que o acompanham.

Você necessita ter um conhecimento muito básico de JavaScript.

Além disso certifique-se de que você passou pelo Guia de primeiros passos, ele mostrará como fazer o download do framework, configurar um ambiente de desenvolvimento local e dará uma visão da estrutura de um projeto da Phaser e de suas principais funcionalidades.

Se você já seguiu o Guia de Introdução, você fez o download do Phaser e deixou tudo configurado, pronto para codificar. Faça o download dos assets deste tutorial e descompacte-os em sua pasta raiz da web.

Abra a página part1.html no seu editor preferido e vamos dar uma olhada mais de perto no código. Depois de um pequeno HTML inicial o qual inclui o Phaser, a estrutura do código se parecerá com isso:

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

O objeto config é por onde você configura seu jogo no Phaser. Existem muitas opções que podem ser colocadas nesse objeto e, à medida que você expande seu conhecimento sobre o Phaser, você encontrará mais delas. Mas neste tutorial vamos apenas definir o renderizador, as dimensões e uma Scene padrão.

Uma instância de um objeto Phaser.Game é atribuída a uma variável local chamada game e o objeto de configuração é passado para ela. Isso iniciará o processo de dar vida ao Phaser.

No Phaser 2, o objeto game agia como o gateway para quase todos os sistemas internos e era frequentemente acessado a partir de uma variável global. No Phaser 3, esse não é mais o caso e não é mais vantajoso armazenar a instância do jogo em uma variável global.

A propriedade type pode ser Phaser.CANVAS, Phaser.WEBGL ou Phaser.AUTO. Este é o contexto de renderização que você pode usar para o seu jogo. O valor recomendado é Phaser.AUTO, o qual tenta automaticamente usar o WebGL, mas se o navegador ou o dispositivo não suportar, ele voltará ao Canvas. O elemento canvas que o Phaser cria será anexado ao documento no momento em que o script foi chamado, mas você também pode especificar um contêiner pai na config do jogo, caso queira.

As propriedades width e height definem o tamanho do elemento canvas que o Phaser criará. Neste caso, 800 x 600 pixels. Seu mundo no jogo pode ser de qualquer tamanho que você quiser, mas essa é a resolução em que o jogo será exibido.

A propriedade scene do objeto de configuração será abordada em maiores detalhes neste tutorial.