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

[Dúvida] Meu ator não colide com os carros

Olá, tudo bem?

Na aula 4 de Lógica de programação: Laços e listas com Javascript, no primeiro vídeo o professor mostra uma biblioteca chamada p5.collide.js com códigos prontos que ajudam a fazer o seu projeto colidir com determinado objeto na sua aplicação. Porém, sinto que essa biblioteca não esta funcionando, esse é o link do meu projeto https://editor.p5js.org/gabrieldossantossilva69/full/5cZcLHIp4.

//Actor
let xActor = 100;
let yActor = 366;
let collision = false;

function showsActor() {
  image(actorPicture, xActor, yActor, 30, 30);
}

function moveActor() {
  if(keyIsDown(UP_ARROW)) {
    yActor -= 3;
  }
  if(keyIsDown(DOWN_ARROW)) {
    yActor += 3;
  }
  if(keyIsDown(RIGHT_ARROW)) {
    xActor += 3;
  }
  if(keyIsDown(LEFT_ARROW)) {
    xActor -= 3;
  }
}

function checkCollision() {
  for(let i = 0; i > imageCars.length; i += 1) {
    collision = collideRectCircle(xCars[i], yCars[i], widthCar, heightCar, xActor, yActor, 15);
      if(collision) {
        crashed();
      }
  }
}

function crashed() {
  yActor = 366;
}

// Cars

let xCars = [700, 700, 700];
let yCars = [40, 96, 150];
let carSpeed = [4, 4.5, 5];
let widthCar = 50;
let heightCar = 40;

function showsCar() {
  for (let i = 0; i < imageCars.length; i += 1) {
    image(imageCars[i], xCars[i], yCars[i], widthCar, heightCar);
  }
}

function moveCar() {
  for (let i = 0; i < imageCars.length; i += 1) {
    xCars[i] -= carSpeed[i];
  }
}

function backInitialCarPosition() {
  for (let i = 0; i < imageCars.length; i += 1) {
    if(pastScreen(xCars[i])) {
      xCars[i] = 700
    }
  }
}

function pastScreen(xCar) {
  return xCar < -100;
}

Esse é o meu código, fiz exatamente como estava no vídeo, porém deixei meu código todo em inglês (para praticar mais mesmo), preciso de ajuda para conseguir fazer com que meu personagem colida com os carros, estou com dúvida.

Esse é meu link do repositório do GitHub do projeto: https://github.com/gabrieldossant/Freeway

Aguardo ansiosamente pela sua ajuda! Muito obrigado :)

1 resposta
solução!

Consegui resolver o problema!