所以我创建并成像并将其放置在这样的画布中:
draw() {
this.context = this.canvas.getContext("2d");
var ox = this.x;
var oy = this.y;
this.x += (this.speed * this.mod) * Math.cos(Math.PI / 180 * this.angle);
this.y += (this.speed * this.mod) * Math.sin(Math.PI / 180 * this.angle);
this.detectCollision(ox, oy);
this.context.save();
this.context.translate(this.x, this.y);
this.context.rotate(Math.PI / 180 * this.angle);
this.context.drawImage(this.car, -(this.car.width / 2), -(this.car.height / 2));
this.context.restore();
}
现在我正在尝试进行碰撞检测,但由于我旋转图像,我认为这有点困难。
这是我的碰撞检测:
detectCollision(ox, oy) {
// top-left corner
// OX/OY are old cords
if (this.car.getBoundingClientRect().top < 0 || this.car.getBoundingClientRect().left < 0) {
this.x = ox;
this.y = oy;
}
}
然后我找到了这个函数getBoundingClientRect()
,但它一直返回0。
希望你能理解我的问题。