Don't you speak portuguese? Translate this site with Google Translator

Pensamento do Dia

Na maior parte dos homens, as dificuldades são filhas da preguiça. (Samuel Johnson)

Phaser Dicas

Phaser Dicas

BasicGame.Game = function (game) {
// When a State is added to Phaser it automatically has the following properties set on it, even if they already exist:
this.game; // a reference to the currently running game (Phaser.Game)
this.add; // used to add sprites, text, groups, etc (Phaser.GameObjectFactory)
this.camera; // a reference to the game camera (Phaser.Camera)
this.cache; // the game cache (Phaser.Cache)
this.input; // the global input manager. You can access this.input.keyboard, this.input.mouse, as well from it. (Phaser.Input)
this.load; // for preloading assets (Phaser.Loader)
this.math; // lots of useful common math operations (Phaser.Math)
this.sound; // the sound manager - add a sound, play one, set-up markers, etc (Phaser.SoundManager)
this.stage; // the game stage (Phaser.Stage)
this.time; // the clock (Phaser.Time)
this.tweens; // the tween manager (Phaser.TweenManager)
this.state; // the state manager (Phaser.StateManager)
this.world; // the game world (Phaser.World)
this.particles; // the particle manager (Phaser.Particles)
this.physics; // the physics manager (Phaser.Physics)
this.rnd; // the repeatable random number generator (Phaser.RandomDataGenerator)

// You can use any of these from any function within this State.
// But do consider them as being 'reserved words', i.e. don't create a property for your own game called "world" or you'll over-write the world reference.
};


Com esta função podemos chamar

this.add ao invés de this.game.add

Usar
this.add.sprite(0, 0, 'einstein');

no lugar de:
this.game.add.sprite(0, 0, 'einstein');

A função update() atualiza a tela em torno de 60 vezes por segundo.

Implementar entradas pelo teclado no Phaser é algo simples. A função retorna as 4 teclas de setas:

this.cursors = this.input.keyboard.createCursorKeys();

Exemplo de uso:

this.player.body.velocity.x = 0;
this.player.body.velocity.y = 0;

if (this.cursors.left.isDown) {
this.player.body.velocity.x = -this.player.speed;
} else if (this.cursors.right.isDown) {
this.player.body.velocity.x = this.player.speed;
}

if (this.cursors.up.isDown) {
this.player.body.velocity.y = -this.player.speed;
} else if (this.cursors.down.isDown) {
this.player.body.velocity.y = this.player.speed;
}


Caso permitamos ao jogador apertar ao mesmo tempo as teclas para movimentos horizontais e verticais então poderemos ter movimentos em 8 sentidos ao invés de apenas 4. Teremos também movimentos nas diagonais e não somente na vertical e horizontal.

Alguns objetos funcionam melhor quando contidos em grupo, como é o caso de balas. Assim reduz o consumo de memória.

Outro bom uso de grupo é nas explosões.

Refatorar o código com os objetivos:
- Recomendação: Refactorar sempre que o código for duplicado 3 ou mais vezes.
- Tornar a manutenção mais simples
- Reduzir o consumo de memória
- Deixar o jogo mais rápido
- Quebrar trechos de código grandes em pequenas funções
- Reduzir hard-coded trechos e constantes numéricas fixas para isso criando constanes em um state que fica mais fácil de alterar.
- Usar também valores relativos às dimensões, como this.game.width, ao inves de 800 fica mais flexível

O Phaser assume que seus sprites são orientados para a direita.

Coordenadas do Canvas

O ponto (0, 0) fica no canto superior esquerdo, portanto
O X aumenta da esquerda para a direita
O Y aumenta de cima para baixo

Formatos de áudio suportados pelo Phaser:

- Ogg e MP4 dão a maior cobertura de navegadores
- Wav deve ser evitado por ser grande
- MP3 deve ser evitado por problemas de licensa

Publicação do Jogo

Um jogo com o Phaser pode ser hospedado em qualquer servidor com suporte ao HTML 5 com um servidor web.

Uma boa alternativa free é o GitHub, mas requer conhecimento do Git.

Hospedagem free no Neocities


Ele aceita drag and drop em sua administração.
http://neocities.org
Desvantagem: não suporta criação de pastas. Todos os arquivos devem ficar no raiz do seu site. Não aceita upload de .wav.

 

Comments fornecido por CComment

Novo Testamento

Não tenho maior gozo do que este, o de ouvir que os meus filhos andam na verdade.
(3Jo, 1:4)

Rotas no Mapa do Google

© 2015 Ribamar FS. All Rights Reserved. Designed By JoomShaper