Olá, Edir! Tudo bem? Como vai?
Bacana sua ideia!!! Vamos lá!!!
Primeiro vamos criar uma variável para o raio fora da função que antecede o atualizaTela:
var x = 20
var raio = 10;
Depois, dentro da função atualizaTela vamos colocar uma condicional if:
function atualizaTela() {
limpaTela();
desenhaCirculo(x, 20, raio);
if( raio < 300 ){
raio++
}
e abaixo vamos mexer no andamento do x:
function atualizaTela() {
limpaTela();
desenhaCirculo(x, 20, raio);
if( raio < 300 ){
raio++
}
x=x+5;
}
Abaixo, no setInterval vamos colocar um intervalor de 100, mas fica a seu critério.
setInterval(atualizaTela, 100);
Bom, é isso!!!
Segue o código completo:
<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);
function desenhaCirculo(x, y, raio) {
pincel.fillStyle = 'blue';
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela() {
pincel.clearRect(0, 0, 600, 400);
}
var x = 20;
var raio = 10;
function atualizaTela() {
limpaTela();
desenhaCirculo(x, 20, raio);
if (raio < 300) {
raio++
}
x = x + 5;
}
setInterval(atualizaTela, 100);
</script>
Espero ter ajudado, amigo!!!
Bons estudos e vamos em frente!!!