1
resposta

Trocando de cor [Solução usando modulo %]

Usando cor = cores[k % cores.length], dá pra suprimir o uso de condicional.

var tela = document.querySelector('canvas')
var pincel = tela.getContext('2d')

var cores = ['blue', 'red', 'green'] // lista de cores
var k = 0                             // seletor de cores. Inicialmente seleciona a primeira cor da lista
var cor = cores[k]                   // cor do pincel

pincel.fillStyle = 'grey'
pincel.fillRect(0, 0, 600, 400)

function desenhaCirculo(evento) {
    var x = evento.pageX - tela.offsetLeft
    var y = evento.pageY - tela.offsetTop
    pincel.fillStyle = cor
    pincel.beginPath()
    pincel.arc(x, y, 10, 0, 2*Math.PI)
    pincel.fill()
}
// muda a cor selecionada
function mudaCor() {
    cor = cores[k % cores.length]
    k++
    return false
}

tela.onclick = desenhaCirculo
tela.oncontextmenu = mudaCor
1 resposta

Olá William, espero que esteja bem.

Obrigada por compartilhar seu código conosco.

Dúvidas sobre o conteúdo dos cursos, estaremos à disposição!

Se este post te ajudou, por favor, marca como solucionado ✓. Bons estudos!