Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Así como va que vuelva

Buenas tardes, logre hacer que volviera, pero tengo una curiosidad, ¿cómo hago si quiero que al llegar cambie de color y regrese? hasta ahora solo he logrado colocar dos circunferencias, una se mueve en horizontal (x) y la otra en vertical (y).

2 respuestas

Hola Jofrannys, espero que estés bien.

Tienes que hacer al contrario que hiciste para que avanzara, decrementar el valor de x. Puedes crear una condición para determinar hasta que posición máxima va a avanzar antes de regresar.

Le dejo un ejemplo de como hacerlo:

<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); 

    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);

    }

    var x = 0
    var avance = true;

    function actualizarPantalla(){

        if(x > 600){
            avance = false;
        }else if(x < 0){
            avance = true;
        }

        if(avance == true){
            limpiarPantalla();
            disenharCircunferencia(x,20,10);
            x++;
        } else {
            limpiarPantalla();
            disenharCircunferencia(x,20,10);
            x--;
        }
    }    

    setInterval(actualizarPantalla, 10);

</script> 

Yo disminuí el tiempo de actualización de la pantalla para que la "bola" vaya y vuelva más rapido.

Cualquier duda estoy aqui para ayudarte.

¡Saludos!

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

muchas gracias, lo voy a probar