Publicidad

Introducción:

En el anterior artículo vimos el evento keydown y ahora veremos el evento keyup y un ejemplo de uso con las teclas de flechas.

teclas kawaii, tecla arriba javascript, teclado kawaii, tecla cuki, pompones, flechas, plechistas, imagenes ney, heppy, supper cute

¿Qué es keyup?

Es un evento que se ejecuta cuando la tecla deja de estar abajo (o sea, cuando soltamos la tecla).

2 Formas de escribir el evento keyup

function Nombre_de_la_función(event){
   if (event.keyCode == 'código_de_la_tecla'){
      //acción a ejecutar
   }
}
window.onkeyup = Nombre_de_la_función;
window.addEventListener("keyup", event => {
	if (event.keyCode == 'código_de_la_tecla'){
	   //acción a ejecutar
	}

});

Ejemplo usando el evento keyup

En este ejemplo vamos a crear un cuadrado y lo moveremos con las teclas de flecha izquierda, derecha, arriba y abajo.

onkeyup js, onkeyup ejemplos de uso, teclas kawaii, teclas bonitas, ney imagenes, ney, nehimy

Punto 1:

Para empezar vamos a crear un cuadradito.

crear un cuadrado con css 2020, crear un cuadrado html, height css, width, imagenes de ney, cuadrado css, como hacer un cuadrado con css

Un cuadrado tiene los lados del mismo tamaño y en css el ancho es width y el alto es height. En el siguiente código veremos lo básico para crear y posicionar el cuadrado menos el     border-radius (ese lo puse por gusto🙄).

#cuadrado{
   background-color: #3bd980;
   height: 100px;
   width: 100px;
   top: 0px;
   left: 0px;
   border-radius: 10px;
   position: absolute;
}

Punto 2:

Ahora pasamos a la parte del movimiento y vamos a crear un sistema de referencia para intentar guiarnos.

Nota de vital importancia: Aquí veremos el movimiento del cuadrado en el sistema de coordenadas; pero en el documento html funciona distinto.

fmover un elemento html con el teclado, mover un elemento html con js, mover un elemento html con javascrpit, ejer de coordenadas, imagenes ney, ney

Partiendo de la imagen podemos decir que:

Publicidad

Para movernos hacia la derecha sumamos o incrementamos en x.

 

mover eementos con javascript, Sistema de coordenadas en javascript

Para movernos hacia la izquierda restamos o decrementos en x.

aplicación de coordenadas cartesianas en javascript

Para movernos hacia arriba vamos sumando o incrementando en y (debido a que 0 es mayor que un número negativo, es correcto decir que incrementa).

usando el sistema de referencia en javascript, usando el sistema de referencia en javascript con ejemplo, imagenes de ney, ney.one

 

Y para movernos hacia abajo decrementamos en y.

coordenadas cartecianas para mover un objeto en javascript, javascript ejemplos, ney

 

Punto 3:

Antes de empezar con el código en javascript debemos saber el código numérico de las flechas del teclado:

  • Flecha arriba: 38
  • Flecha abajo: 40
  • Flecha izquierda: 37
  • Flecha  derecha: 39

Usamos la explicación anterior para crear el código del movimiento de nuestro cuadrado

Creamos 2 variables x y y que indican cuanto nos moveremos en top y left.

Usamos onkeyup para que detecte la tecla que presionamos y luego lo comparamos con la tecla que escogimos, si ambas son iguales ejecutará la acción de mover en la dirección que escogimos.

let x = 0;
let y = 0;
let cuadradito = document.getElementById('cuadrado');

/*
*Al llevar el eje de coordenadas al documento html hacemos una traducción
*debido a que funcionan distinto y esa diferencia es más evidente cuando trabajamos en el top.
*
*En el eje de coordenadas incremetamos para mover hacia arriba, en el top decrementamos
*para empujar hacias arriba.
*/

function movimiento(event){
	if(event.keyCode == '39'){//derecha
		x= x + 100;
		cuadradito.style.left = x + 'px';
	}

	if(event.keyCode == '37'){//Izquierda
		x= x - 100;
		cuadradito.style.left = x +'px';	
	}
	
	if(event.keyCode == '38'){//arriba
		y = y + 100;                               
		cuadradito.style.top = (-y) + 'px';
	}

	if(event.keyCode == '40'){//abajo
		y = y - 100;                            
		cuadradito.style.top = (-y) + 'px';
	}

}

window.onkeyup = movimiento;

La lógia del eje de coordenadas puede aplicarse a otros lenguajes, lo que cambia es como representamos o traducimos eso en la parte visual o gráfica.

Punto 4:

Para finalizar en el documento html llamamos (enlazamos o insertamos) a los otros documentos con extensión .css y .js.

<!DOCTYPE html>
<html lang="en-ES">
    <head>
        <meta charset="UTF-8">
	<link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
	<div id="cuadrado"></div>
	<script src="test.js"></script>
    </body>
</html>

Extra: Clic aquí para ver el código funcionando y recuerden que para mover el cuadrado deben hacerlo desde el teclado de su computadora.

Publicidad