Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

[Duda] Ayuda no encuentro el error

Intente hacerlo con whiles pero no me jala el codigo y no encuentro el porque :c

<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 otroLado = 1;

    function actualizarPantalla(){
    limpiarPantalla();

    while(true) {
        while(x > 600) {
            otroLado = -1;
            x = x + otroLado;
        }
        while(x < 0) {
            otroLado = 1;
            x = x + otroLado;
        }
        disenharCircunferencia(x, 20, 10);
        x = x + otroLado;
    }
}

    setInterval(actualizarPantalla,10);

</script> 
4 respuestas
solución!

Hola Daniel,

Creo que no te va a funcionar con "while", ni con "for"; por que el "setInterval" repite por si solo. Deberias de intertar con "if"

Saludos.

yo estoy en las mismas, no encontraba el error, hasta que dividí la pantalla y lo compare con un codigo que compartieron, y note que por cambiar mayusculas por minusculas o viceversa, la consola no lo identifica, lo describe com indeterminado, asi que revise letra por letra, en la linea que l inspeccion ce la consola me indicaba, hasta que logre identificar el error. tal vez eso te auxilie

while(true) { while(x < 600) { otroLado = -1; x = x + otroLado;

         tal vez el cambio de parametro te ayude. ya que se supone que al llegar en la primera ida, esta en 600, y este debe regresar desde ese punto, entonces le restas 1, pero no cambiaste el valor en while. igual y me equivoco.

Gracias a todos por el feedback :)