Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como saber que é um comando para o teclado e não valor atribuído

Eu entendi como funciona, entendi a lógica, mas uma coisa que realmente não entendi é, como que as declarações abaixo se referem ao código do teclado e não à um valor simplesmente inteiro?

    // códigos do teclado
    var esquerda = 37;
    var cima = 38;
    var direita = 39;
    var baixo = 40;

Até onde minha percepção permite, esse código pode também estar dizendo: "Ei, olha só, a variável esquerda recebe o valor de 37" E assim por diante, eu realmente empaquei nessa parte. Poderiam me ajudar?

1 resposta
solução!

Você esta certo, são somente variaveis com valores inteiros. Mas esses valores recebem o mesmo valor dos códigos das teclas do teclado com os respectivos nomes.

Você deveria utilizar um evento (e.g.: keydown) para verificar se a tecla pressionada pelo usuário possui o mesmo código de alguma das variaveis, para identificar qual tecla foi pressionada.

Ex.:

var input = document.getElementById("myInput");

input.addEventListener("keydown", function (event) {

event.preventDefault();

if (event.keyCode === esquerda) { // tecla esquerda foi pressionada }

if (event.keyCode === cima) { // tecla cima foi pressionada }

if (event.keyCode === direita) { // tecla direita foi pressionada }

if (event.keyCode === baixo) { // tecla baixo foi pressionada }

});