Hola a todos , estoy tratando de comprender el código del instructor , la verdad comprendí mal el ejercicio, pensé que cada vez que hacia clic con el botón derecho tenia que cambiar de color y me estaba volviendo loco para poder hacer que cambie de color , lo que me llevo a ver el código del instructor....mi consulta es la siguiente la variable con el array de secuencia de colores por que comienza al principio y no antes de la función alterarColor ?. Desde ya muchas gracias y saludos a todos.
<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>