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: alternativa con True/False

¡Saludos! Comparto una alternativa para la solución del ejercicio. Acá lo que se me ocurrió es usar la variable "crescendo" ("creciendo", hablando un lenguaje medio musical) y asignarle el valor "true". Cuando x = 600, la sentencia pasa a "False" y, mediante un if, hacemos que el contador x empiece a restar en vez de sumar. Cuando vuelve a 0, se invierte el proceso.

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

< script>

var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");    
pincel.fillStyle = "lightgrey";
pincel.fillRect(0,0,600,400); 

function designCircle(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 crescendo = true;

function actualizarPantalla(){
    limpiarPantalla();
    designCircle(x,20,10);

    if(crescendo){
        x++;
        if(x == 600){
            crescendo = false;
        }
    }else{
        x--;
        if(x == 0){
            crescendo = true;
        }
    }
}

setInterval(actualizarPantalla,5);

1 respuesta

Hola, compañero, tu solución se ve super interesante. Por lo que puedo entender, en tu código, a diferencia del mío, los incrementos los sacaste de la condición final, los if anidados, además de convertirlos en booleanos. Increible solución, muchas gracias por compartir.