当一个物体在另一个物体上时检测?(HTML5)
我正在HTML5画布上创建一个游戏,当一个对象(图形)越过另一个对象(也是图形)时,需要执行一个动作 我尝试过在网上看到的方法,但它们似乎不起作用。 我本来希望代码类似于Mouseover函数,但我尝试过这个,但没有成功 这是一个可能的功能吗?它可以通过图形来实现吗 这是我在AS3中的原始代码:当一个物体在另一个物体上时检测?(HTML5),html,actionscript-3,html5-canvas,game-development,Html,Actionscript 3,Html5 Canvas,Game Development,我正在HTML5画布上创建一个游戏,当一个对象(图形)越过另一个对象(也是图形)时,需要执行一个动作 我尝试过在网上看到的方法,但它们似乎不起作用。 我本来希望代码类似于Mouseover函数,但我尝试过这个,但没有成功 这是一个可能的功能吗?它可以通过图形来实现吗 这是我在AS3中的原始代码: object1.addEventListener( Event.ENTER_FRAME, handleCollision) function handleCollisi
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
}
}
您必须使用像素级检测。这是一个参数,所以您需要像enter\u frame这样的函数来不断检查重叠
您可以找到一个使用BitmapData.hitTest检测与表示播放区域的精灵失去联系的示例。您的要求正好相反,检测与另一个精灵的接触。但本质上是相同的想法
希望能有所帮助经过一些研究,我发现在HTML5中,由于某些原因,图形之间的冲突检测是不可能的。相反,我使用了另一种方法,如果object2的坐标与object1的坐标相同,且Y轴不在其上方,则会发生反应。可能会重复,以供将来参考,请回答您的问题,而不是对其进行轻微调整。