Lectura de Eventos en Canvas con JavaScript

 

Lectura de Eventos en Canvas con JavaScript

En este ejercicio, aprenderemos a manejar eventos del ratón (clic, movimiento y soltar) sobre un elemento <canvas> utilizando JavaScript puro.

🎨 Estructura HTML del Canvas

Primero, creamos un canvas con dimensiones y estilo definidos:

html
<canvas id="canvas" width="500" height="300" style="border: 2px solid #000000;"></canvas>
<body onload="inicializar()"> <!-- Llama a la función al cargar la página -->

🖱️ JavaScript: Capturando Eventos

El siguiente código muestra cómo detectar interacciones con el ratón:

javascript
var miCanvas;

function inicializar() {
    miCanvas = document.getElementById('canvas');
    
    // Event Listeners
    miCanvas.addEventListener('mousedown', clickRaton, false);
    miCanvas.addEventListener('mouseup', sueltaRaton, false);
    miCanvas.addEventListener('mousemove', posicionRaton, false);
}

function posicionRaton(e) {
    var x = e.pageX;
    var y = e.pageY;
    console.log('Posición: x:' + x + ' - y:' + y); // Coordenadas (X,Y)
}

function sueltaRaton(e) {
    console.log('¡Ratón soltado!');
}

function clickRaton(e) {
    console.log('¡Ratón pulsado!');
}

📝 Explicación:

  1. inicializar():

    • Selecciona el canvas y configura tres eventos:

      • mousedown: Al pulsar el botón del ratón.

      • mouseup: Al soltarlo.

      • mousemove: Al moverlo (registra coordenadas).

  2. posicionRaton(e):

    • Usa e.pageX y e.pageY para obtener la posición del cursor respecto al documento.

  3. Resultado:

    • Al interactuar con el canvas, la consola mostrará mensajes como:

      text
      ¡Ratón pulsado!
      Posición: x:150 - y:200
      ¡Ratón soltado!

🚀 ¿Por qué es útil?

  • Ideal para videojuegos o aplicaciones interactivas.

  • No requiere librerías externas (JavaScript nativo).

🔗 Prueba el código y observa cómo responde a tus acciones en el canvas.


🎥 Mini-clase adjunta:

"Aprende a manipular el canvas y sus eventos para construir interfaces dinámicas."

Comentarios

Entradas más populares de este blog

codigo

5. 04.funciones parte1