Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mover a bolinha apenas dentro do espaço cinza.

Olá, pessoal...blz?

Eu montei um código pra manter a bolinha apenas dentro do limite do espaço que temos. Embora tenha dado certo, achei que ficou muita gambiarra :(

Alguém consegue ter uma visão diferente dessa?

O código ficou assim:

    <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, cor) {
        pincel.fillStyle = cor;
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * Math.PI);
        pincel.fill();
      }

      var x = 300;
      var y = 200;

      function moverBolinha({ key }) {
        pincel.fillStyle = "lightgray";
        pincel.fillRect(0, 0, 600, 400);

        if (key === "ArrowUp" && y >= 30) {
          y -= 10;
        }
        if (key === "ArrowDown" && y <= 370) {
          y += 10;
        }
        if (key === "ArrowLeft" && x >= 30) {
          x -= 10;
        }
        if (key === "ArrowRight" && x <= 570) {
          x += 10;
        }
        console.log("x", x, "y", y);
        desenhaCirculo(x, y, 20, "blue");
      }
      desenhaCirculo(x, y, 20, "blue");
      document.onkeydown = moverBolinha;
    </script>
2 respostas
solução!

Olá, tudo bem? O meu ficou bastante diferente, deu errado várias vezes e achei o seu, peguei como referencia e vou arrumar e ver se tem outro jeito, mas parabéns.

Olá, Rayane, tudo bem? Depois mostra como ficou o seu tbm. Valeu mesmo \0/