Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Mi versión de VA Y VUELVE "DVD style"

Nuevamente, tal vez sea demasiado trabajo para algo sencillo, pero me quise divertir un rato. ¿Qué les pareció? Pueden probar el código aquí https://jsfiddle.net/gsc4Ln65/5/

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Programa v4 HTML - DVD Style</title>
</head>

<body>
  <canvas width="600" height="400">

  </canvas>

  <script>

    var pantalla = document.querySelector(`canvas`);
    var pincel = pantalla.getContext(`2d`);
    pincel.fillStyle = `lightgrey`;
    pincel.fillRect(0, 0, 600, 400);
    var colores = [`white`, `red`, `green`, `yellow`];
    var indexAlterarColor = 0;

    function diseniarCirculo(x, y, radio) {
      pincel.fillStyle = colores[indexAlterarColor]
      pincel.beginPath();
      pincel.arc(x, y, radio, 0, 2 * Math.PI);
      pincel.fill();
    }

    function limpiarPantalla() {
      pincel.clearRect(0, 0, 600, 400);
      pincel.fillStyle = `black`;
      pincel.fillRect(0, 0, 600, 400);

    }

    function mostrarMensaje() {
      console.log(`Circulo en posición ` + x);
    }

    function escribirTexto(x, y, texto) {

      pincel.font = `25px Garamond`;
      pincel.fillStyle = colores[indexAlterarColor]
      pincel.fillText(texto, x, y);
    }

    let x = 300
    let y = 200
    let radio = 1
    let direccion = 1
    let subibaja = 1

    function actualizarPantalla() {
      limpiarPantalla();
      if (x > 545) {
        direccion = -1;
        indexAlterarColor++;
        if (indexAlterarColor >= colores.length) {
          indexAlterarColor = 0;
        }
      } else if (x < 0) {
        direccion = 1;
        indexAlterarColor++;
        if (indexAlterarColor >= colores.length) {
          indexAlterarColor = 0;
        }
      }
      if (y < 15) {
        subibaja = 1;
        indexAlterarColor++;
        if (indexAlterarColor >= colores.length) {
          indexAlterarColor = 0;
        }
      } else if (y > 400) {
        subibaja = -1;
        indexAlterarColor++;
        if (indexAlterarColor >= colores.length) {
          indexAlterarColor = 0;
        }
      }
      escribirTexto(x, y, `DVD`);
      // diseniarCirculo(x, y, radio);
      x = x + direccion;
      y = y + subibaja;
      // radio++;
      /* if (radio >= 20) {
        radio = 10;
        indexAlterarColor++;
        if (indexAlterarColor >= colores.length) {
          indexAlterarColor = 0;
        }
      } */
      // escribirTexto(x,y,`texto`);
      // mostrarMensaje();
    }

    function alterarColor() {
      indexAlterarColor++;
      if (indexAlterarColor >= colores.length) {
        indexAlterarColor = 0;
      }
      console.log(`El color cambió a "` + colores[indexAlterarColor] + `"`);
      return false;
    }

    pantalla.oncontextmenu = alterarColor;

    setInterval(actualizarPantalla, 10);

  </script>
</body>

</html>
1 respuesta

AJJAJAJ esta bueno y si claro a la larga con el tiempo encuentras varias formas de optimizar el codigo pero eso no quiere decir que lo que hiciste este mal eso demuestra que entendiste lo que programaste y puedes seguir avanzando