Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O circulo que pulsa se encontrou com o que vai e vem e mudam de cor juntos!

<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);
    var cores = ["green","black","orange","blue","yellow","red"];
    var corAtual = 0;

    function desenhaCirculo1(x, y, raio) {
        pincel.fillStyle = cores[corAtual];
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * Math.PI);
        pincel.fill();
    }
    function desenhaCirculo2(x, y, raio){ 
        pincel.fillStyle = cores[corAtual];//especifica a cor ou o estilo para usar regiões internas.
        pincel.beginPath();//inicia um novo caminho (path), esvaziando a lista de sub-caminhos (sub-paths).
        pincel.arc(x, 30, 30, 0, 2 * Math.PI);//diciona um arco circular para o atual sub-caminhoa (sub-path).
        pincel.fill();//preenche um dado path ou o path atual com o estilo atual de preenchimento.
    }
    function limpaTela1() {
        pincel.clearRect(0 , 70, 600, 330);
    }
    function mudaCor() {
        corAtual++;
        if (corAtual >= cores.length) {
            corAtual=0;
        }
    }
    var raio = 4;
    var fatorCrescimento = 0;
    function atualizaTela1() {
        limpaTela1();
        if( raio > 60) {
            fatorCrescimento = -1;
        } else if (raio < 5) {
            mudaCor();
            fatorCrescimento = 1;
        }     
        desenhaCirculo1(300, 220, raio);
        raio = raio + fatorCrescimento;
    }
    function limpaTela2() {
        pincel.clearRect(0, 0, 600, 70);
    }
    var x = 10;
    var direção = 1;
    function atualizaTela2() {
        limpaTela2();
        if( x > 600) {
            direção = -1;
        } else if (x < 0) {
            direção = 1;
        } 
        x = x + direção;
        desenhaCirculo2(x, 20, 10);                 
    }
    setInterval(atualizaTela1, 15);//mostra na tela o circulo que pulsa;
    setInterval(atualizaTela2, 10)//mostra na tela o circulo que vai e vem.   
</script>
1 resposta
solução!

Marcos, muito bom esse código aí, muito maneiro. parabéns!!