【发布时间】:2014-08-28 02:03:16
【问题描述】:
我已经在画布上加载了几张图像,我想添加简单的碰撞检测(当它们中的任何一个发生碰撞时,显示消息或更改颜色等)。我正在通过以下方式加载图像:
// Taurus Image
var taurusImg = new Kinetic.Image({
x: 0,
y: 0,
image: images.Taurus,
width: 216,
height: 75,
name: 'image'
});
taurusGroup.add(taurusImg);
taurusGroup.on('dragstart', function() {
this.moveToTop();
});
// Truck Image
var truckImg = new Kinetic.Image({
x: 0,
y: 0,
image: images.Truck,
width: 950,
height: 158,
name: 'image'
});
truckGroup.add(truckImg);
truckGroup.on('dragstart', function() {
this.moveToTop();
});
我正在将它们加载到源中:
var sources = {
Taurus: 'content/taurus.gif',
Truck: 'content/truck2.gif'
};
在调用一个函数 loadimages 后,我想我可以使用这样的东西:
function collides(a, b)
{
if (a.x < b.x + b.width &&
a.x + a.width > b.x &&
a.y < b.y + b.height &&
a.y + a.height > b.y) return true;
}
但是什么也没发生。我需要以另一种方式加载图像吗?正如我所说,它们都已经在屏幕上,我可以拖动它们,但无法进行碰撞检测。非常感谢你们提供的任何帮助/建议!
【问题讨论】:
标签: html canvas collision-detection kineticjs