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

Função "voltaInicio()" impossibilita de usar as setas pra baixo e pra cima

alguém poderia me ajudar? neste caso a função de voltar ao inicio esta impossibilitando de utilizar as setas para mover o ator. ao retirar essa função de voltar ao inicio da função de atribuição de pontos, o código volta funcionar normalmente.

codigo: https://editor.p5js.org/Viniciusvvr/sketches/O6FRPV4oj

///VARIAVEIS DO MEU PERSONAGEM ///

    let xMeuPersonagem = 100;
    let yMeuPersonagem = 366;
    let larguraMeuPersonagem = 30;
    let alturaMeuPersonagem = 30;
    let velocidadePersonagem = 4; // VELOCIDADE DO MEU PERSONAGEM
    let colisao = false;
    let raioMeuPersonagem = larguraMeuPersonagem / 2;
    let meusPontos = 0;

///MOSTRAR O MEU PERSONAGEM///

      function mostraPersonagem(){
        image(meuPersonagem,xMeuPersonagem,
                yMeuPersonagem,larguraMeuPersonagem, alturaMeuPersonagem);
      }

        ///MOVIMENTA MEU PERSONAGEM///

      function movimentaPersonagem(){
            if(keyIsDown(UP_ARROW)){
            yMeuPersonagem -= velocidadePersonagem;
              }else if(keyIsDown(DOWN_ARROW)){
               yMeuPersonagem += velocidadePersonagem;
                  }else if(keyIsDown(LEFT_ARROW)){
                   xMeuPersonagem -= velocidadePersonagem;
                      }else if(keyIsDown(RIGHT_ARROW)){
                       xMeuPersonagem += velocidadePersonagem;}
}

///LIMITE DE TELA

      function bloqueiaPersonagem(){
        if(xMeuPersonagem + LarguraMeuPersonagem > 600){
          xMeuPersonagem = 580     
        }}

///VERIFICAR COLISÕES///

      function verificarColisao(){
        for (let i = 0; i < imagemCarros.length; i++){
    colisao = 
    collideRectCircle(xCarros[i], yCarros[i],
    larguraCarro, alturaCarro, 
    xMeuPersonagem,
    yMeuPersonagem, 15)
    if (colisao){
       voltaInicio();
    if (colisao){
      meusPontos -= 1;
    if (meusPontos < 0){
      meusPontos = 0
      somColisao.play();

             }
            }
           }
          } 
        }


      function voltaInicio(){
        yMeuPersonagem = 366;
      }

//MostrarPontos

      function mostrarPontos(){
        textAlign(CENTER)
;        textSize(20);
        fill(255, 215, 0);
        text(meusPontos, 19, 25)
      }

//ATRIBUIR PONTOS

      function atribuirPontos(){
        if(yMeuPersonagem < 15)
        meusPontos++;
        voltaInicio();
      }
1 resposta
solução!

Oi, tudo bem?

Peço desculpas pela demora em lhe dar um retorno!

Ao analisar o projeto disponibilizado por você, verifiquei que você conseguiu resolver o problema mencionado acima, dado que o jogo está funcionando perfeitamente, exatamente como o do instrutor do curso.

Inclusive eu também gostaria de lhe parabenizar pelo seu projeto, pois ele ficou muito bom, a ideia de adicionar imagens diferentes e alterar as grandezas vetoriais para aumentar o nível da dificuldade do jogo foram muito boas. Continue se dedicando.

Um grande abraço e bons estudos.