Skip to content
This repository was archived by the owner on Jan 18, 2019. It is now read-only.

Commit 3e1a572

Browse files
committed
Add step2 in french.
Signed-off-by: Yoan Blanc <[email protected]>
1 parent 9525d91 commit 3e1a572

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
title: La boucle principale
3+
layout: guide_step.pug
4+
download: /assets/platformer/steps/step02.js
5+
---
6+
7+
Le cœur de tout jeu est composé d'une boucle. Au sein de cette boucle sont traités les évènements externes (souris ou clavier), la modification de l'état du jeu (`update`) puis le dessin (`render`).
8+
9+
![The game loop](/assets/platformer/game_loop.png)
10+
11+
Au sein de Phaser, la boucle principale est générée automatiquement via les états du jeu. Un état correspond àà un « écran » dans notre jeu. Par exemple, l'écran de chargement, le menu principal, un niveau, etc. Chaque état est divisé en différentes étapes. Les importantes étant les suivantes.
12+
13+
![Game state](/assets/platformer/game_state.png)
14+
15+
Les phases `update` (mise à jour) et `render` (affichage) sont **appelées** automatiquement à chaque frame, ainsi il ne nous est pas nécessaire de gérer le temps.
16+
17+
Un état dans Phaser est un `Object` JavaScript possédant des méthodes spécifiques. Nous allons voir comment précharger et afficher une image de fond.
18+
19+
# Tâches
20+
21+
## Créer un état
22+
23+
1. Comme prédédamment, modifier `js/index.js` pour y ajouter un état nommé `play`.
24+
25+
```javascript
26+
const PlayState = {};
27+
28+
window.onload = function () {
29+
let game = new Phaser.Game(960, 600, Phaser.AUTO, 'game');
30+
game.state.add('play', PlayState);
31+
game.state.start('play');
32+
};
33+
```
34+
35+
## Charger et afficher une image
36+
37+
1. Afin de **charger une image**, nous allons utiliser la phase `preload` de notre état. Dans cette phase, toutes les _assets_ (images, sons, etc.) vont être chargés.
38+
39+
Pour utiliser cette phase, il faut créer une méthode du même nom.
40+
41+
```javascript
42+
const PlayState = {};
43+
44+
PlayState.preload = function () {
45+
this.game.load.image('background', 'images/background.png');
46+
};
47+
```
48+
49+
Points importants :
50+
51+
1. Notre état possède une référence au jeu en cours via la propriété `game`.
52+
2. Au chargement d'un asset, il est possible de lui donner un nom qui est réutilisé par la suite.
53+
54+
2. Pour **afficher une image**, nous devons créer une instance de `Phaser.Image`. La méthode `game.add` s'occupe de créer ajouter l'image à notre univers. Ainsi, l'élément est dessiné automatiquement.
55+
56+
Ajouter la phase `create` à l'état du jeu.
57+
58+
```javascript
59+
PlayState.create = function () {
60+
this.game.add.image(0, 0, 'background');
61+
};
62+
```
63+
64+
`0, 0` correspondent aux coordonnées X et Y. En informatique, contrairement aux mathématiques, l'origine se trouve en haut à gauche, l'axe X va à droite et l'axe Y vers le bas.
65+
66+
Votre page doit afficher un superbe fond d'écran bleuté.
67+
68+
![A background, rendered](/assets/platformer/step01_check.png)
69+
70+
# Vérifications
71+
72+
- Un fond d'écran bleuté remplace le fond noir.
73+
74+
Être capable d'afficher des images est la première étape vers la construction d'un jeu vidéo. Préparez-vous pour les étapes suivantes!

0 commit comments

Comments
 (0)