Documentation de la game-loop
Définies par vous-mêmes dans le fichier `script.js`, ces méthodes seront appelées automatiquement dans le fichier `game-loop.js`.
Retrouvez ici le descriptif des méthodes de la boucle de jeu.
- LoadGame(CanvasElement, CanvasRenderingContext2D)
-
Appelée une seule fois au lancement du jeu, doit contenir les initialisations de vos éléments calculés.
let hero = { x: 0, y: 0 } function LoadGame(canvas, context) { // Calcul de la position du héro // Selon la taille de l'écran hero.x = canvas.width / 2 hero.y = canvas.height / 2 }
- UpdateGame(Number)
-
Appelée perpétuellement de façon variable, doit contenir la logique de votre jeu.
La façon variable dont est appelée cette méthode peut induire des incohérences de calcul au niveau de la physique (collisions, gravités, etc...
let hero = { x: 0, y: 0, vx: 10 } function UpdateGame(deltaTime) { // Modification de la position du héro selon sa vélocité hero.x += vx * deltaTime // Modification de la vélocité du héro selon sa position // Il va faire les 100 pas! if (hero.x >= 500) { hero.vx = -10 } else if ( hero.x <= 50) { hero.vx = 10 } }
- FixedUpdateGame(Number) Premium
-
Appelée perpétuellement de façon régulière, doit contenir la logique physique de votre jeu.
let hero = { x: 0, y: 0, vx: 10 } function FixedUpdateGame(deltaTime) { // Modification de la position du héro selon sa vélocité hero.x += vx * deltaTime // Modification de la vélocité du héro selon sa position // Il va faire les 100 pas! if (hero.x >= 500) { hero.vx = -10 } else if ( hero.x <= 50) { hero.vx = 10 } }
- LoadGame(CanvasRenderingContext2D)
-
Appelée après chaque UpdateGame et FixedUpdateGame.
Doit intégrer toutes les fonctions de dessin de l'écran de jeu actuel.let hero = rect( x: 0, y: 0, width: 20, height: 20 } function DrawGame(context) { // Dessine notre héro: un carré blanc! context.fillRect(hero.x, hero.y, hero.width, hero.height) }