1
respuesta

07 Haz lo que hicimos en el aula

<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 y = 10; 



function actualizarPantalla() {
    limpiarPantalla();
    disenharCircunferencia(x,20,10);
    x ++;
    //y = y+2;
    if(x >= 600){
            x = 0;

    }
    /*if(y >= 400){
        y= 0;

    }*/

}

setInterval(actualizarPantalla,5);   




//setinterval(disenharCircunferencia(x,20,10),1000);






</script>
1 respuesta

¡Hola Irvin!

Según lo que puedo ver en el código que compartiste, estás dibujando una circunferencia en la pantalla y moviéndola horizontalmente. Si lo que quieres es que la circunferencia se mueva en diferentes direcciones, puedes agregar una variable para la posición vertical (y) y luego modificarla en la función actualizarPantalla. Por ejemplo, podrías agregar una variable llamada "direccionY" y luego sumarla o restarla a la posición vertical de la circunferencia en cada iteración.

Aquí te muestro un ejemplo de cómo podrías 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);

var x = 0;
var y = 20; // Agregamos la variable y

// Agregamos la variable direccionY para controlar la dirección vertical
var direccionY = 1;

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 actualizarPantalla() {
    limpiarPantalla();
    disenharCircunferencia(x,y,10); // Usamos la variable y para la posición vertical
    x ++;
    y += direccionY; // Modificamos la posición vertical según la dirección
    if(x >= 600){
        x = 0;
    }
    if(y >= 400 || y <= 0){ // Cambiamos la dirección vertical si llegamos al borde superior o inferior
        direccionY *= -1;
    }
}

setInterval(actualizarPantalla,5);   
</script>

Espero que esto te ayude a lograr lo que estás buscando. ¡Buenos estudios!

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