我正在HTML5 Canvas中创建一个游戏,它需要在一个对象(图形)经过另一个对象(也是图形)时执行一个操作。
我尝试了我在网上看到的方法,但它们似乎不起作用。我希望代码类似于Mouseover函数,但我尝试了一下,它不起作用。
这是一个可能的函数吗?它可以通过图形来实现吗?
这是我用AS3编写的原始代码:
object1.addEventListener( Event.ENTER_FRAME, handleCollision)
function handleCollision( e:Event ):void
{
if (object2.hitTestPoint(object1.x, object1.y, true))
{
// object2 collided with object1
trace("Collision");u
}
}
发布于 2019-06-15 18:04:38
经过一些研究,我发现由于某些原因,在HTML5中无法检测图形之间的碰撞。相反,我使用了另一种方法,如果object2的坐标与object1的坐标相同,并且Y轴不在其上方,则会发生反应。
发布于 2019-06-13 11:09:50
您必须使用BitmapData.hitTest进行像素级检测。这是一个参数,所以你需要有一个像enter_frame这样的函数来不断地检查重叠。
Here您可以找到一个使用BitmapData.hitTest来检测与代表游戏区域的sprite失去联系的示例。您的要求正好相反,检测与另一个精灵的接触。但这本质上是相同的想法。
希望能有所帮助
https://stackoverflow.com/questions/56569254
复制相似问题