Boa tarde! Eu tentei fazer que o circulo trocasse de cor, tentei da seguinte maneira:
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);
var cores = ["blue", "red", "green"]
var i = 0;
function desenhaCirculo(x, y, raio, cores) {
pincel.fillStyle = cores[i];
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela() {
pincel.clearRect(0, 0, 600, 400);
}
function mudaCor () {
if (i == 2) {
i = 0;
} else {
i++;
}
}
var raio = 20;
var alteraRaio = 1;
function pulsaCirculo () {
limpaTela();
if (raio > 30) {
alteraRaio = -1;
} if (raio < 20) {
alteraRaio = 1;
}
desenhaCirculo(300, 200, raio, cores[i]);
raio = raio + alteraRaio;
mudaCor ();
console.log(i);
console.log(raio);
}
setInterval(pulsaCirculo, 20);
</script>
O circulo ficou na cor cinza, alguém poderia me explicar porque não deu certo? Desde já, muito obrigado.