Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Cambiando de color- DUDA

El return false que esta en la funcion menciona el ejercicio que sirve para esto: "La instrucción return false es importante para que el menú contextual padrón de canvas no sea exhibido, o sea, queremos apenas alterar el color con el clic del botón y no exhibir un menú para el usuario.", pero no logro entender que significa, podrian por favor brindarme una explicación mas detallada, muchas gracias.

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

<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");    
    pincel.fillStyle = "grey";
    pincel.fillRect(0,0,600,400); 
    var colores = ["blue", "red", "green"];
    var indiceColorActual = 0; // comienza con blue

    function dibujarCirculo(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;    
        pincel.fillStyle = colores[indiceColorActual];
        pincel.beginPath();
        pincel.arc(x,y,10,0,2*3.14);
        pincel.fill();
        console.log(x + "," + y);        
    }

    pantalla.onclick = dibujarCirculo;

    function alterarColor() {
        indiceColorActual++;
        if(indiceColorActual>= colores.length) {
             indiceColorActual = 0; //vuelve para el primer color, blue
        }
        return false; //menú contextual padrón de `canvas` no sea exhibido
    }

    pantalla.oncontextmenu = alterarColor;

</script> 
1 respuesta
solución!

Hola! se refiere a que si haces clic con el botón derecho, por defecto te saldrá el menú contextual del navegador (guardar pagina como.., seleccionar todo..., hacer captura de pantalla... ver código fuente.. etc). Pero vos querés que se ejecute la función "alterarColor", entonces necesitas prevenir ese comportamiento predeterminado, y eso es justamente lo que hace "return false" al final de tu funcion. Es una forma abreviada de detener la acción predeterminada de un evento. Saludos