Детектор столкновений с использованием векторов - PullRequest
0 голосов
/ 11 июля 2020

Я часами пытаюсь понять это, но по какой-то причине либо функция isInside, либо обнаружение столкновений не работает ... может кто-нибудь сказать, где я могу ошибаться?

function isInside(locA, sizeA, locB, sizeB){
   if ((dist(locA.location.x,locA.location.y,locB.locations.x,locB.locations.y)) < sizeA.size + sizeB.diams){
       return true;
    }else{
       return false;
    }
 }

function checkCollisions(spaceship, asteroids){
  for (var i = 0; i < asteroids.length; i++) {
     if (IsInside(spaceship, spaceship, asteroids[i], asteroids[i] ) == true){
       gameOver();
     }
  }
}

class AsteroidSystem {constructor(){
    this.locations = [];
    this.diams = [];
}

class Spaceship {

  constructor(){
    this.location = new createVector(width/2, height/2);;
    this.size = 50;
  }
}

1 Ответ

0 голосов
/ 11 июля 2020

не является sizeB.diams массивом в строке 2 вместо целого числа?

в js

2 < 1 // false
2 < 1 + 0.5 // false 
2 < 1 + [0.5] // true 

потому что

1 + [0.5]

становится строкой :

´10.5´

и

2  < '10.5' 

верно

...