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

[Dúvida] Pontos continuam ficando negativos e meu ator continua desaparecendo com a seta pra baixo

Olá, não estou conseguindo encontrar onde está o meu erro. https://editor.p5js.org/nicolysiqueira/sketches/JXkULXz5A

3 respostas
solução!

Olá Nicole, eu achei o erro, não sei a melhor forma de te explicar, mas vou tentar hahaha o seu codigo está assim:

 if(keyIsDown(DOWN_ARROW)){
      if (podeSeMover){
      yAtor+=3;
function verificaColisao(){
  //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
  for (let i = 0; i < imagemCarros.length; i++){
    colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
    if (colisao){
      voltaPosicaoInicial();
      somDaColisao.play();
      if (meusPontosMaiorQueZero){
        meusPontos-=1
      }

o correto deveria ser:

 if(keyIsDown(DOWN_ARROW)){
      if (podeSeMover()){
      yAtor+=3;
function verificaColisao(){
  //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
  for (let i = 0; i < imagemCarros.length; i++){
    colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
    if (colisao){
      voltaPosicaoInicial();
      somDaColisao.play();
      if (meusPontosMaiorQueZero()){
        meusPontos-=1
      }

repara que em (meusPontosMaiorQueZero()) você tem que colocar mais parênteses, pois o termo escrito é uma função, quando criamos a função colocamos no final dela (); e quando vai colocar isso no if você deve colocar os parênteses do if e os parênteses da função, e deve ser escrita igual a uma, o mesmo se aplica ao (podeSeMover())

olá, Nicoly.

tb concordo com o Lucas e mais uns detalhezinhos. na lista ycarros, alterando o valor para 265, na possição y do mapa, o carro ficará bem no centro da pista. e na função draw, pode tb trocar o valor 100, por xAtor.

Muitoo obrigada Lucas e Romeu. Eu não havia percebido, realmente são detalhes kk.. Agora ficou tudo certinho:)