Gestion des événements

Retrouvez ici une explication détaillée des différentes fonctions liées à l'écoute des événements claviers et souris.

keyDown(string keyCode, Function callback)

A utiliser majoritairement dans la fonction `LoadGame`, permet d'assigner une fonction à l'enfoncement d'une touche.

            let hero = {
    x: 0,
    y: 0,
    vy : 0
}

function LoadGame(canvas, context) {
    // Une pression sur la touche espace modifie sa vélocité verticale
    // Dans un environnement avec gravité, cela ferais sauter le héro!
    keyDown('space', function () {
        hero.vy = -10
    })
}
        
keyDown(string keyCode, Function callback) Premium

Identique à la version standard, au détail près que celle-ci retourne une fonction permettant de désactiver l'écouteur d'événement

            // Cette variable va stocker notre
// Désactivateur d'événement
let jumpDeactivation

// Au lancement du jeu, il est en pause
let paused = true

/**
  * Active / Désactive la pause
  **/
function togglePause() {
    // On active ou désactive la pause
    pause = !pause

    // Si la pause vient d'être désactivé
    if (!paused) {
        // On stock le retour de la fonction pour pouvoir
        // le désactiver l'événement plus tard
        jumpDeactivation = keyDown('space', function () {
            hero.vy = -10
        })
    }
    // Sinon
    else {
        // On supprime l'écouteur d'événement:
        // Le joueur ne peut plus sauter
        jumpDeactivation()
    }
}

function LoadGame(canvas, context) {
    // On lance le jeu!
    togglePause()
}
        
keyUp(string keyCode, Function callback)

A utiliser majoritairement dans la fonction `LoadGame`, permet d'assigner une fonction au relâchement d'une touche.

            let hero = {
    x: 0,
    y: 0,
    vy : 0
}

function LoadGame(canvas, context) {
    // Un relâchement de la touche espace modifie sa vélocité verticale
    // Dans un environnement avec gravité, cela ferais sauter le héro!
    keyUp('space', function () {
        hero.vy = -10
    })
}
        
keyUp(string keyCode, Function callback) Premium

Identique à la version standard, au détail près que celle-ci retourne une fonction permettant de désactiver l'écouteur d'événement
Se référer à la documentation de keyDown(Premium), le fonctionnement est identique.

            // Voir keyDown(Premium)
        
keyDownUp(string keyCode, Function callbackDown, Function callbackUp)

A utiliser majoritairement dans la fonction `LoadGame`, permet d'assigner deux fonctions:

  • une fonction à l'enfoncement d'une touche
  • une fonction au relâchement de cette même touche

            let hero = {
    x: 0,
    y: 0,
    vy : 0
}

function LoadGame(canvas, context) {
    keyDownUp(
        'space',
        // Met à -10 vélocité lors de l'enfoncement de la touche espace
        function () {
            hero.vy = -10
        }),
        // Remet à zéro la vélocité lors du relâchement de celle-ci
        function () {
            hero.vy = 0
        })
}
        
keyDownUp(string keyCode, Function callbackDown, Function callbackUp) Premium

Identique à la version standard, au détail près que celle-ci retourne un objet de forme `{ down, up, all }` contenant les deux fonctions permettant de désactiver les écouteurs d'événement.

            // Cette variable va stocker nos
// Deux désactivateurs d'événements
let spaceDeactivation

function LoadGame(canvas, context) {
    spaceDeactivation = keyDownUp(
        'space',
        function () {
            hero.vy = -10
        }),
        function () {
            hero.vy = 0
        })

    // Plus tard si nous voulons désactiver l'événement "up":
    spaceDeactivation.up()

    // Ou le down:
    spaceDeactivation.down()

    // Ou les deux:
    spaceDeactivation.all()

}
        
Nous utilisons les cookies pour personnaliser le contenu et analyser notre trafic. Veuillez décider quel type de cookies vous êtes prêt à accepter.