Tentei usar um array pra selecionar cores variadas que trocam com o passar de X ms e pensei em mudar a posição da var cor e não consigo o resultado esperado de jeito nenhum ! Não consigo manter a cor vermelha pelo tempo especificado. Desabilitei a variável booleana que faz o trigger do mouse por que fica mais fácil de testar o código.
<canvas width="2000" height="2000"> </canvas>
<script>
var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");
var posição = 0
var cor = ["blue", "red", "yellow"]
var tamanho = cor.length
function mudaposi() {
posição++ }
function circulo(log) {
var x = log.pageX
var y = log.pageY
pincel.fillStyle = cor[posição]
pincel.beginPath();
pincel.arc(x,y,20, 0, 2 * Math.PI);
pincel.fill();
setTimeout(mudaposi,1000)
setTimeout(mudaposi, 2000)}
tela.onmousemove = circulo
</script>