4
respostas

SyntaxError: Unexpected token ')' ReferenceError: mostraAtor is not defined

Desde que introduzi a colisao começou a dar esse problema, até tentei mexer em umas coisas mas ai resolvia um e aparecia outro, se alguem puder ajudar agradeço tmj!

function setup() {
  createCanvas(500, 400);
}

function draw() {
  background(imagemDaEstrada);
  mostraAtor();
  mostraCarro();
  movimentaCarro();
  movimentaAtor();
  voltaPosicaoInicialDoCarro();
  verificaColisao();
}
// imagens do jogo
let imagemDaEstrada;
let imagemDoAtor;
let imagemCarro;
let imagemCarro2;
let imagemCarro3;

function preload(){
  imagemDaEstrada = loadImage("estrada.png");
  imagemDoAtor = loadImage("ator-1.png");
  imagemCarro = loadImage("carro-1.png");
  imagemCarro2 = loadImage("carro-2.png");
  imagemCarro3 = loadImage("carro-3.png");
  imagemCarros = [imagemCarro, imagemCarro2, imagemCarro3]
}
//código do carro

let xCarros = [600, 600, 600];
let yCarros = [40, 96, 150];
let velocidadeCarros = [2, 2.5, 3.2];
let comprimentoCarro = 50;
let alturaCarro = 40;

function mostraCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, alturaCarro);
  }
}

function movimentaCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    xCarros[i] -= velocidadeCarros[i];
  }
}

function voltaPosicaoInicialDoCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    if (passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}

function passouTodaATela(xCarro){
  return xCarro < - 50;
}
//código do ator
let xAtor = 100;
let yAtor = 366;
let colisao = false;

function mostraAtor(){
  image(imagemDoAtor, xAtor, yAtor, 30, 30);
}

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

function verificaColisao(){
  for ( i = 0, i < imagemCarro.lenght, i = i + 1){
    colisao = collideRectCircle (xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
    if (colisao){
      colidiu();
    }
  }
}
function colidiu(){
  yAtor = 366
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/addons/p5.sound.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8" />

  </head>
  <body>
    <main>
    </main>
    <script src="sketch.js"></script>
    <script src="imagens.js"></script>
    <script src="ator.js"></script>
    <script src="carro.js"></script>
    <script src="p5.collide.2d.js"></script>

  </body>
</html>
4 respostas

Oi Arthur!!! Perceba que nas outras funções de repetição, vc usa ponto e virgula!! mas na função verificaColisão vc não o faz!!

for ( i = 0, i < imagemCarro.lenght, i = i + 1){

Bons estudos!!!!

Boa noite Arthur, tudo certo?

Por favor, poderia passar o link do seu projeto? Assim fica mais facil testar e te falar onde esta o problema.

Abraço!

Oi boa tarde Romeu, ajeitei isso e outros detalhes, o progarma roda mas não está detectando a colisao :/

Boa tarde Fernando, mando sim, ajeitei umas coisas que melhoraram, mas agora não detecta a colisão

https://editor.p5js.org/mxllmann/sketches/YB1ezH8xv