AprĂšs la petite introduction du pourquoi de ma traductionCette fois câest parti : je traduirai au mieux, quitte Ă adapter en Ă©crivant avec mes mots et en utilisant parfois NdT pour Note du Traducteur. Il est probable que jâutilise certains termes techniques anglais, ça nâa pas toujours de sens de tout traduire.
dâaprĂšs le tutoriel en anglais Ă©crit par Alvin Ourad et Richard Davey.
Original disponible en suivant ce lien
Bienvenue dans ce premier tutoriel sur Faire un Jeu avec Phaser (NdT : câest moche comme ça non ? ;). Nous allons apprendre comment crĂ©er un petit jeu mettant en scĂšne un joueur courant et sautant sur des plateformes en collectant des Ă©toiles. Au cours de notre petit pĂ©riple, nous expliquerons quelques unes des fonctions au coeur de ce framework.
Phaser est un framework de jeu HTML5 qui vise Ă aider les dĂ©veloppeurs Ă produire de jeux puissants, fonctionnants sur les navigateurs HTML5, de maniĂšre vraiment rapide et, au contraire dâautres, il a Ă©tĂ© conçu avec les navigateurs mobiles pour cible. Le seul prĂ©requis pour le navigateur est le support du tag canvas. Il emprunte beaucoup de choses Ă Flixel.
- Téléchargez les fichiers de code et les ressources qui vont avec ce tutoriel.
- Vous avez besoin de connaissances trĂšs trĂšs basiques de JavaScript. (NdT : mais chez TontonCodeur, on fera tout pour vous aider lĂ dessus)
- Prenez Ă©galement le temps de parcourir le Getting Started Guide, vous y apprendrez comment tĂ©lĂ©charger le framework, mettre en place un environnement de dĂ©veloppement, et vous donner un aperçu de la structure dâun projet Phaser et ses fonctionnalitĂ©s principales.
ATTENTION, ajout de la traduction: Je rĂ©flĂ©chis Ă une solution vous permettant simplement de lancer le tutoriel et de manipuler ses fichiers. Entre temps, nâhĂ©sitez surtout pas Ă me poser toutes les questions qui vous viendrons pendant ces installations.
Si vous avez suivi le Getting Started Guide, vous avez tĂ©lĂ©chargĂ© Phaser et tout installĂ© aux petits oignons : vous ĂȘtes prĂȘts Ă coder. TĂ©lĂ©chargez les fichiers de ce tutoriel et dĂ©compressez les dans votre rĂ©pertoire web.
Ouvrez le fichier part1.html dans lâĂ©diteur de texte de votre choix et allons regarder de plus prĂšs le code. AprĂšs un peu de blabla HTML qui inclus Phaser, la structure du code ressemble Ă ceci :
var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update });
function preload() {
}
function create() {
}
function update() {
}
La ligne 1 est celle qui donne vie Ă Phaser en crĂ©ant une instance de lâobjet Phaser.Game et en lâassignant Ă une variable locale appelĂ©e âgameâ. Lâappeler âgameâ est une pratique usuelle, mais pas une obligation, et câest ce que vous retrouverez dans les exemples de Phaser.
Les 2 premiers paramĂštres sont la largeur et la hauteur de lâĂ©lĂ©ment Canvas que Phaser va crĂ©er. Dans le cas prĂ©sent, 800 x 600 pixels. Le monde de votre jeu avoir la taille que vous souhaitez, mais il sâagit de la rĂ©solution dans laquelle le jeu sera affichĂ©.
Le troisĂšme paramĂštre peut valoir Phaser.CANVAS, Phaser.WEBGL ou Phaser.AUTO. Cela dĂ©finit le contexte de rendu que vous voulez utiliser. Le paramĂštre recommandĂ© est Phaser.AUTO puisquâil permet de commencer par essayer Phaser.WEBGL, mais si le navigateur ou la machine ne le supporte pas, cela basculera automatiquement sur Phaser.CANVAS.
Le quatriĂšme paramĂštre est une chaine vide, câest lâID de lâĂ©lĂ©ment DOM dans lequel vous allez insĂ©rer lâĂ©lĂ©ment canvas que Phaser crĂ©e. Comme nous lâavons laissĂ© vide, il va simplement sâajouter au corps de la page. Le dernier paramĂštre est un objet comportant quatre rĂ©fĂ©rences Ă des fonctions principales de Phaser. Leur utilisation va vous ĂȘtre dĂ©taillĂ©e ci-aprĂšs. Notez que cet objet âgameâ nâest pas absolument nĂ©cessaire : Phaser supporte un systĂšme en full state permettant de rĂ©partir le code dans des objets sĂ©parĂ©s bien plus clairs. Mais pour un simple Guide de DĂ©marrage comme celui ci, nous utiliserons cette approche qui nous permet de prototyper plus rapidement.
Chargeons maintenant les ressources nécessaires à notre jeu. Vous faites ça en utilisant des appels à game.load au sein de la fonction appellée preload. Phaser cherchera automatiquement cette fonction à son lancement et chargera tout ce qui sera défini en son sein.
Pour le moment, la fonction preload est vide. Modifions la:
function preload() {
game.load.image('sky', 'assets/sky.png');
game.load.image('ground', 'assets/platform.png');
game.load.image('star', 'assets/star.png');
game.load.spritesheet('dude', 'assets/dude.png', 32, 48);
}
Cela chargera 4 ressources (NdT: ou asset en anglais) : 3 images et une page de sprite. Cela peut paraĂźtre Ă©vident Ă certains dâentre vous, mais je voudrais souligner le premier paramĂštre, appelĂ© aussi clĂ© de ressource (NdT: asset key). Cette chaine de caractĂšres est un lien vers la ressource chargĂ©e et câest ce que vous allez utiliser dans votre code au moment de crĂ©er les sprites. Vous ĂȘtes libres dâutiliser nâimporte quelle chaine de caractĂšres valide en Javascript comme clĂ©.
Pour ajouter un Sprite Ă notre jeu, ajoutez le code suivant dans la fonction create :
game.add.sprite(0, 0, 'star');
Si vous ouvrez la page page3.html dans un navigateur, vous devriez voir un Ă©cran de jeu noir avec un seul sprite dâĂ©toile dans le coin en haut Ă gauche:

Lâordre dans lequel les Ă©lĂ©ments sont gĂ©nĂ©rĂ©s dans lâaffichage correspond Ă lâordre dans lequel vous les crĂ©ez. Donc, si vous souhaitez mettre un fond derriĂšre le sprite Ă©toile, vous devez vous assurer quâil a Ă©tĂ© ajoutĂ© comme sprite, avant lâĂ©toile.
Voilà , je vous laisse avec la traduction qui correspond aux part1 à 3 et je vous promet de continuer au plus vite bien sûr.
Entre temps, ne soyez pas timides : laissez des commentaires ou écrivez moi.