3
respostas

Exercício deu ideia de fazer um heart-beat. Está bem POG

3 respostas

Boa noite, Jonathan! Como vai?

O seu código não apareceu! Vc poderia postá-lo novamente?

Obs.: Quando for postar, utilize o botão "inserir código" e cole o código no lugar indicado para que o código seja postado corretamente!

<canvas width="1000" height="1000"></canvas>

<audio src="https://www.pacdv.com/sounds/interface_sound_effects/beep-3.wav"></audio>

<script>
    let context = document.querySelector('canvas');
    let pincel = context.getContext('2d');
    let audio = document.querySelector('audio');
    let movimentY = 500;
    let movimentX = 0;
    let movimentYRiseOk = false;
    let movimentYFallOk = false;
    let roofLimit = false;
    let pulse = false;
    let finishPulseBPM = false;    


    function drawCircle (x, y, radius, color) {
        pincel.beginPath();
        pincel.fillStyle = color;
        pincel.arc(x , y, radius, 0, 2 * Math.PI);
        pincel.fill();
    }

    function screenClear() {
        pincel.clearRect(0, 0, 1000, 1000);        
    }

    function draw() {
        drawCircle(movimentX, movimentY, 10, 'green');

    }

    function drawPulse() {
        draw();


        if(pulse) {            
            pulseBPM();
        }
        readPulse();
    }

    function readPulse() {
        if(movimentX >= 1000) {
            screenClear();
            movimentX = 0;
        }
        movimentX += 5;
    }

    function pulseBPM () {         
        if(movimentY > 20 && !movimentYRiseOk) {
            movimentY -= 20;            
            return;
        }        
        movimentYRiseOk = true;
        if(movimentY < 500 && !movimentYFallOk) {
            movimentY += 20;
            return;
        }                
        pulse = false;
        movimentYFallOk = true;
    }        

    function pulseBPMTrue() {        
        audio.play();
        movimentYRiseOk = false;
        movimentYFallOk = false;        
        pulse = true;
    }


    context.onclick = pulseBPMTrue;
    setInterval(drawPulse, 1);

</script>

Desculpe a demora. 0/