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

Ejercicio Rebote de Derecha a Izquierda

<meta charset="utf-8">

<h2>Rebote de Derecha a Izquierda</h2>
<br>

<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 = "yellow";
        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 sentido = 1;

    function actualizarPantalla(){

        limpiarPantalla();
        if(x > 600){
            sentido = -1;
        }else if(x < 0){
            sentido = 1;
        }

        disenharCircunferencia(x,20,10);
        x = x + sentido;
    }

    setInterval(actualizarPantalla,5);

</script>
2 respuestas

Hola Sidney, te reto que mejores el codigo e incluyas 2 rebotes uno de derecha a izquierda y el segundo circulo de izquierda a derecha.

saludos

Hola Willy, buen reto la verdad, acá dejo el codigo

<meta charset="utf-8">

<h2>Rebote de Derecha a Izquierda</h2>
<br>

<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 = "yellow"; 
    pincel.beginPath(); 
    pincel.arc(x, y, radio, 0, 2 * Math.PI); 
    pincel.fill(); 
}

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

var x = [0, 600]; 
var y = [10, 30]; 
var sentido = [];

function actualizarPantalla() { 
    limpiarPantalla(); 
console.log("Actualizacion"); 
for (var i = 0; i < x.length; i++) { 
    if (x[i] >= 600) { 
        sentido[i] = -1; } 
        else 
        if (x[i] <= 0) { 
            sentido[i] = 1; 
        }

disenharCircunferencia(x[i], y[i], 10);
x[i] = x[i] + sentido[i];
console.log(x[i]);
    } 
}

setInterval(actualizarPantalla, 6);

</script>