Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

18
respostas

p5coliide.js

Esse arquivo p5collide.js , nao abre no meu computador , da um erro . Alguem poderia me ajudar , teria alguma outra biblioteca que poderiam me indicar para colocar para rodar . Meu jogo não funciona cem por cento .

18 respostas

Olá, Letícia! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Será que consegue me mostrar o erro que aparece?

Tem um site muito bom chamado imgur.com onde você consegue colocar o print do erro e compartilhar conosco através de markdown ou mesmo postando o link da imagem. Fica mais fácil para te ajudar!!!

Fico no aguardo!!!

Ola Cássio ! Tudo bem sim , obrigada . Entao quando vou tentar abrir a pasta dele no meu computador > Ele da um erro assim : Script: Nome do local aonde esta a minha pasta Linha: 10 Caract: 1 Erro : 'console', nao esta definido Código: 800A1391 Origem: Erro em tempo de execução do Microsoft JScript. Com esse erro a pasta nao funciona no meu codigo , meu jogo roda normal , mas pra fazer as coisas que se usa na pasta não funciona .

Olá, Letícia!

Poste o link editor do seu projeto para que eu possa dar um olhada!

Vou rodar o seu projeto na minha máquina para entender melhor esse problema, Letícia!

Fico no aguardo!

https://editor.p5js.org/LeticiaLima/full/6BxjC8vXy

Oi Leticia,

Poderia postar o código do Java.

Pelo que vi, o programa não esta reconhecendo a colisão e nem os movimentos para os lados.

Pelo sequencia do curso, acredito que no arquivo java, na parte em que esta declarada as condições de movimentos, deve estar faltando um ";" para encerra uma declaração.

No javascript é importante se atentar a terminar as declarações com o ponto e vírgula, pois é ela que avisa o programa que aquele comando se encerrou e que o próximo está por vir.

Quando falta o ";" no java ele não deixa de executar o script inteiro, ele deixa de executar tudo que vem depois da declaração que ficou em aberto (salvo se esse problema estiver dentro de uma função, neste caso apenas a função não vai ser executada corretamente)

Olá, Letícia! Como vai?

Rodei seu código e notei alguns comportamentos que podemos mexer.

No seu projeto, existe uma opção para gerarmos um link editor, que possibilita eu acessar o código dele.

Para me enviar, entre em file -> share e copie o link edit para postar aqui

Vou ficar no aguardo para testar dentro de todo seu projeto!!!

Um abraço

Segue o link . https://editor.p5js.org/LeticiaLima/sketches/6BxjC8vXy

Letícia, acabei de rodar o código e testei as pastas normalmente.

Que tipo de inclusão você pretende fazer no projeto?

Percebi que a colisão do personagem e os carros não está acontecendo, mas acredito que seja por estar testando essa implementação.

A pasta do p5collide nao funciona no meu computador , por isso a colisao do personagem com os carros nao acontece . E isso que nao to conseguindo .

Letícia, dei uma analisada bem nos detalhes sobre rodar no sistema e correu tudo bem!

Um ponto que estava dando erro era que um método dentro da função verificaColisao está incorreta. Onde está o for

for (let i = 0; i < imagemCarros.lenggth; i++){

na palavra length a letra g está duplicada

Eu corrigi, rodou sem o erro e a colisão acontece.

Outro ponto que adicionei foi aumentar o valor da variável yAtor dentro da função voltaAtorParaPosicaoInicial para 420, pois assim o ator não corre o risco de iniciar já colidindo com o carro da primeira faixa

function voltaAtorParaPosicaoInicial() {
  yAtor = 420;
}

Faça esses testes, Letícia!

Aguardo seu retorno!

na função "function movimentaAtor()" você pretender manter apenas os movimentos para cima e para baixo (vertical0 ou também vai incluir os movimentos horizontais (esquerda e direita?

Seria legal colocar mais movimentos .

Sendo assim, dentro da função movimentaAtor() voce adiciona mais 2 condições de verificação (if), a variável y movimenta o personagem no sentido vertical, a variável x vai movimentar ele no sentido horizontal.

function movimentaAtor() {
    if (keyIsDown(UP_ARROW)){
            yAtor -= 3;
      }
     if (keyIsDown(DOWN_ARROW)){
            if (podeSeMover()){
                yAtor += 3;
        }
    }
     if (keyIsDown(LEFT_ARROW()){
            XAtor -= 3;
    }
      if (keyIsDown(RIGHT_ARROW()){
             XAtor += 3;
    }
}

Teste o código deste jeito e depois avise se funcionou,com isso o personagem deve se mover para a esquerda e para a direita.

Ok, obrigada pela dica vou testar e volto aqui pra contar.

Gabriel adicioneio codigo que me passou , nao consigo ver se der certo . Aparece isso agora : Uncaught ReferenceError: verificaColisao is not defined (sketch: line 13)
JA verifiquei mais nao sei o que fiz de errado . 

Cassio , mudei o que estava errado o codigo e funcionou . Agora fui acrescenter outros movimentos de ruim de novo. Mas o que voce tinha pedido pra mim fazer deu certo , o personagem colidiu .

Oi leticia,

Peço desculpas, revi o código que postei e identifiquei excesso de parenteses nas declarações, segue ele corrigido:

function movimentaAtor() {
    if (keyIsDown(UP_ARROW)){
            yAtor -= 3;
      }
     if (keyIsDown(DOWN_ARROW)){
            if (podeSeMover()){
                yAtor += 3;
        }
    }
     if (keyIsDown(LEFT_ARROW)){
            XAtor -= 3;
    }
      if (keyIsDown(RIGHT_ARROW)){
             XAtor += 3;
    }
}

Eu mantive no código pois estava ontem nele, mas o que exatamente a função "podeSeMover()" faz?

Pelo que eu vi no código a função retorna um valor numérico para o programa então ele não esta compatível com a condição "if" que trabalha com verdadeiro ou falso.

16/01/2020

Oi Letícia,, estou editando minha resposta pois o tópico fechou para novos comentários. Esse novo erro que você pegou é porque faltou declarar o "xAtor" como uma variável.

Bem no inicio do seu código, onde você delcara o seguinte o "yAtor", declare também o "xAtor" como uma variável e atribui um valor inicial para ele, se não me engano o professor sugere o valor de "60".

Ola Gabriel eu arrumei o codigo como voce me mostrou , mas quando tento usar as setas para o lado o jogo trava . Diz que a funcao Xator nao foi definida . Poderia me ajudar novamente , por favor . Obrigada 
Uncaught ReferenceError: XAtor is not defined (ator: line 24)