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)
}
        
Nous utilisons les cookies pour personnaliser le contenu et analyser notre trafic. Veuillez décider quel type de cookies vous êtes prêt à accepter.