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

!Ya que va, que vuelva¡

<canvas width="600px" height="400px"></canvas>


<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");

    pincel.fillStyle = "lightgray";
    pincel.fillRect(0,0,600,400);

    function disenharCircunferencia(x,y,radio) {
        pincel.fillStyle = "blue";
        pincel.beginPath();
        pincel.arc(x,y,radio,0,2*Math.PI);
        pincel.fill();

    }

    function limpiarPantalla() {
        pincel.clearRect(0,0,600,400);
    }

    function actualizarPantallaDerecha() {                              
        limpiarPantalla();
        disenharCircunferencia(x,20,10);
        x++;      
        if (x == 580) {
            clearInterval(derecha);                                     //detiene el timer cuando x == 580
            izquierda = setInterval(actualizarPantallaIzquierda,10);    //Inicia al lado izquierdo con un conteo regresivo
        }
    }

    function actualizarPantallaIzquierda() { 
        limpiarPantalla();
        disenharCircunferencia(x,20,10);
        x--;
        if (x == 20) {
            clearInterval(izquierda);                                                           //detiene el timer cuando x == 20
            derecha = setInterval(actualizarPantallaDerecha,10);        //Inicia nuevamente al lado derecho con un conteo ascendente.
        }
    }

    var x = 20;
    var izquierda;
    var derecha = setInterval(actualizarPantallaDerecha,10);

    //Las dos funciones de actualizar en conjunto, generan un ciclo infinito donde una desactiva y activa la otra y viceversa.

</script>
1 respuesta

Hola Henry, espero que esté bien.

Gracias por compartir tu código con nosotros.

Si tienes alguna pregunta sobre el contenido de los cursos, estaremos aquí para ayudarte.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios