Primero lo hice luego mire el codigo, y no terminé de entender el del ejemplo. Comparto el mío.
<canvas width="600" height="400"></canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.fillStyle = "lightgrey";
pincel.fillRect(0,0,600,400);
function crearCirculo(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);
}
function Mensaje(){
console.log("ver mensaje");
}
//setInterval(Mensaje,1000);
var i=0;
var derecha=true;
function actualizarPantalla(){
limpiarPantalla();
crearCirculo(i,20,10);
console.log(i);
if(i==600){
derecha=false;
}
if(i==0){
derecha=true;
}
if(derecha){
i++;
}
else{
i--;
}
}
setInterval(actualizarPantalla,5);
</script>