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

Consulta

Cordial saludos queridos compañeros Revisando el código me llegó una duda, porque la variable indiceColorActual que se actualiza en la función dibujarCirculo, esta variable se está modificando en la función alterarColor creía que las variables dentro de la función no salen a menos que se retorne el dato, traté de hacer un console.log (indiceColorActual) por fuera de la función y no me muestra nada, gracias por sus comentarios.

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

function exibiralerta(evento)
{
    let x = evento.pageX - pantalla.offsetLeft; /* lugar en x y resta la parte izquierda para que quede solo con el canva */
    let y = evento.pageY - pantalla.offsetTop; /* lugar en y y resta la parte superior para que quede solo con el canva */
    alert(x + " , " + y);
}

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
}



function dibujarCirculo(evento)
{

    let x = evento.pageX - pantalla.offsetLeft; 
    let y = evento.pageY - pantalla.offsetTop; 
    pincel.fillStyle = colores[indiceColorActual]; /* DEFINE EL COLOR DE RELLENO */
    pincel.beginPath(); /* INICIAR EL CAMINO */
    pincel.arc(x,y,10,0,2*3.14)
    pincel.fill();
    console.log(x + " , " + y)

}

console.log(indiceColorActual); 
pantalla.oncontextmenu = alterarColor;

pantalla.onclick = dibujarCirculo; 
2 respuestas

Creo que he encontrado la respuesta en los videos siguientes, esto se debe a que la variable está declarada por fuera de todas las funciones.

Así es compañero, al declarar las variables fuera de las funciones las puedes utilizar muchas veces en las funciones que desees. Caso contrario pasa cuando declaras una variable dentro de una función, se limita su uso solamente dentro de esa función. Saludos.