Solucionado (ver solução)

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!

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!