Hola, para conservar el color del canvas lightgrey, hay que poner el pincel.fillStyle = "lightgrey"; y pincel.fillRect(0,0,600,400); en la funcion limpiarPantalla, despues de haber colocado el pincel.clearRect(0,0,600,400);
La funcion limpiarPantalla quedaría asi:
function limpiarPantalla(){
pincel.clearRect(0,0,600,400);
pincel.fillStyle = "lightgrey"; //para mantener el color lightgrey del canvas
pincel.fillRect(0,0,600,400);
}
El codigo completo para conservar el color lightgrey del canvas es el siguiente:
<canvas width="600" height="400"> </canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
function disenharCircunferencia(x,y,radio){
pincel.fillStyle = "blue";
pincel.beginPath();
pincel.arc(x,y,radio,0,2*Math.PI);
pincel.fill();
}
function limpiarPantalla(){
pincel.clearRect(0,0,600,400);
pincel.fillStyle = "lightgrey"; //para mantener el color lightgrey del canvas
pincel.fillRect(0,0,600,400);
}
var x = 0;
var sentido = 1;
function actualizarPantalla(){
limpiarPantalla();
if(x > 600){
sentido = - 1;
}else if (x < 0){
sentido = 1;
}
disenharCircunferencia(x,20,10);
x = x + sentido
}
setInterval(actualizarPantalla,50);
</script>