我想在两个不同的对象之间创建碰撞,但我不知道如何使它工作,因为我有多个数组,多个对象具有不同的高度和宽度。创造碰撞的最佳方法是什么?我将我的一些代码放在一边,你可以看到我的代码。
我有这个班级玩家:
function Player() {
this.speed = 10;
this.height = 180;
this.width = 150;
this.pos_y = 425;
this.pos_x = CENTER;
this.player_image = new Image();
this.player_image.src = 'img/car_middle.png';
}
和班车:
function Car(lane) {
this.lane = lane;
this.height = 108.75;
this.width = 99;
this.pos_x = CENTER;
this.pos_y = -350;
this.car_image = car_image[this.lane-1];
}
汽车运动方式:
Car.prototype.move = function(){
this.height += ZOOM_RATE;
this.width += ZOOM_RATE;
if (this.lane == 1) {
this.pos_x -= SIDES_RATE;
} else if (this.lane == 2) {
this.pos_x -= MIDSIDE_RATE;
} else if (this.lane == 3) {
this.pos_x += MIDSIDE_RATE;
} else if (this.lane == 4) {
this.pos_x += SIDES_RATE;
}
this.pos_y += 3;
};
我用箭头键移动玩家,物体有一个固定的对角线移动,具体取决于物体所在的车道。