1
resposta

Ajuda no código?

Aqui vai o código (HTML e JS):

<head>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap" rel="stylesheet">
</head>
<h1 class="titulo">FASE - TREINAMENTO</h1>
<canvas width="600" height="400"></canvas>
<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = "#000000";
    pincel.fillRect(0, 0, 600, 400);
    // indicações circulo-personagem
    var a = 290;
    var b = 190;

    //indicações primeiro-obstaculo
   /* var gerarNumero = Math.random() * 380;
    var c = 580;
    var d = Math.round(gerarNumero);
    console.log(d);*/
    // códigos do teclado

    var esquerda = 37;
    var cima = 38;
    var direita = 39;
    var baixo = 40;

    // taxa de incremento
    var taxa = 10;
          desenhaCirculo(a, b, 10);

    function primeiroObstaculo(c, d) {
        pincel.fillStyle = "pink";
        pincel.fillRect(c, d, 20, 20);
    }
    function desenhaCirculo(a, b, raio) {

        pincel.fillStyle = 'blue';
        pincel.beginPath();
        pincel.arc(a, b, raio, 0, 2 * Math.PI);
        pincel.fill();
    }

    function limpaTela(evento) {

        pincel.clearRect(0, 0, 600, 400);
         pincel.fillStyle = "#000000";
    pincel.fillRect(0, 0, 600, 400);

    }

    function atualizaTela() {

        limpaTela();
        desenhaCirculo(a, b, 10);

    }

    setInterval(atualizaTela, 20);


    function leDoTeclado(evento) {

            desenhaCirculo(a, b, 10);
           if (evento.keyCode == cima) {
               b = b - taxa
           } 
               else    if (evento.keyCode == baixo) {
               b = b + taxa
           } 
                else   if (evento.keyCode == esquerda) {
               a = a - taxa
           } 
               else    if (evento.keyCode == direita) {
               a = a + taxa
           } 

    }
    function obstaculosAutomaticos1() {
    var c = 580;
    var sentido = -1;
    var gerarNumero = Math.random() * 380
    var d = Math.round(gerarNumero);
    function beiraMar() {


        primeiroObstaculo(c, d);
        c = c + sentido;
    }

PARTE CSS (Se necessário):

.titulo {
    font-family: "Montserrat";
    text-align: center;
    position: relative;
    right: 10.5em;
}

A questão é: Estou testando o que aprendi fazendo um jogo mais avançado. É um canvas com um circulo que se move por setas e quadrados que surgem do canto da tela. Porém, estes quadrados, as vezes piscam, e quanto mais tempo eles ficam surgindo, uma hora acontece uma aglomeração de quadrados e todos piscam, alguém me ajuda por favor?

1 resposta

Fala, Mauricio! Tudo bem contigo?

Desculpe a demora em dar um retorno!!!

Gostaria de ver o projeto rodando ;-)

Poste o código completo para que eu possa rodar na minha máquina e poder te ajudar!!!

Fico no aguardo, Mauricio!

Um abraço e até breve