Eu escrevi o codigo e aparentemente funcionou, depois fui ver as respostas e esta um pouco diferente, é por causa de alguma convenção ou por ficar mais certo caso a mudança de tamanho fosse diferente?
Segue meu codigo inteiro:
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 600);
var cores = [];
cores[0] = 'red';
cores[1] = 'green';
cores[2] = 'blue';
var corAtual = 0;
var r = 10;
function desenhaCirculo(evento){
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
if(evento.shiftKey && r < 40){
r += 10;
} else if (evento.altKey && r > 10){
r -= 5;
}
pincel.fillStyle = cores[corAtual];
pincel.beginPath();
pincel.arc(x, y, r, 0, 2 * 3.14);
pincel.fill();
//alert(x + ',' + y);
console.log(evento)
}
tela.onclick = desenhaCirculo;
//mudar a cor da bolinha
function mudaCor(){
corAtual++;
if(corAtual >= cores.length) {
corAtual = 0;
}
return false;
}
tela.oncontextmenu = mudaCor;
</script>