9. Game Loop
Afin de diviser le jeu en modules ‘fonctionnels’ (Menu,
Inventaire, …), nous allons les implémenter dans des classes
différentes, possédant toutes les méthodes :
Input => pour gérer les entrées clavier / souris
Update => pour mettre à jour le jeu
Render => pour afficher l’écran de jeu
La Game Loop appelle directement les fonctions membre de
l’objet correspondant à la situation de jeu courante.
13. Canvas 2D
Que peut-on faire sur un canvas 2d?
Dessiner des formes simples (rectangles)
Dessiner des formes complexes (chemins)
Effectuer des transformations
Faire du compositing
Changer le style et les couleurs des éléments que l’on dessine
Ecrire du texte
Dessiner des images
Manipuler les pixels
14. Canvas 2D
Quelles sont les opérations utiles pour un jeu 2D?
Dessiner des formes simples (rectangles)
Dessiner des formes complexes (chemins)
Effectuer des transformations
Faire du compositing
Changer le style et les couleurs des éléments que l’on dessine
Ecrire du texte
Dessiner des images
Manipuler les pixels
15. Canvas 2D
• Interlude : Rapide aperçu des principales
fonctionnalités d’un contexte 2D
16. Canvas 2D
Dessiner des formes simples (rectangles)
Effacer le contenu du canvas (utile à chaque début de frame)
28. Canvas 2D
Moteur de Particules
Ajout de nouvelles particules
Animation des particules
Rendu des particules
29. Canvas 2D
Moteur de Particules
Ajout de nouvelles particules
Début de Animate de la game loop
Animation des particules
Animate de la game loop
Rendu des particules
Render de la game loop
34. Canvas 2D
Rendu des Particules – Tips
Au lieu de vider le canvas à chaque frame, vous pouvez redessiner un rectangle
blanc avec un alpha inférieur à 1. Cela donnera l’illusion que plus de particules sont
affichés à l’écran.
35. Sommaire
Introduction
Game Loop
Canvas 2D
Fonctionnalités
Sprite Sheet
Particules
Clavier / Souris
Mobile
Tactile
36. Clavier / Souris
Comment gérer les entrées clavier / souris?
Problème :
Notre boucle de jeu est synchrone.
Les évènements JavaScript sont asynchrone.