首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当一个对象覆盖另一个对象时,会检测到吗?(HTML5)

当一个对象覆盖另一个对象时,会检测到吗?(HTML5)
EN

Stack Overflow用户
提问于 2019-06-13 03:36:48
回答 2查看 227关注 0票数 0

我正在HTML5 Canvas中创建一个游戏,它需要在一个对象(图形)经过另一个对象(也是图形)时执行一个操作。

我尝试了我在网上看到的方法,但它们似乎不起作用。我希望代码类似于Mouseover函数,但我尝试了一下,它不起作用。

这是一个可能的函数吗?它可以通过图形来实现吗?

这是我用AS3编写的原始代码:

代码语言:javascript
复制
        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

            }
        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-15 18:04:38

经过一些研究,我发现由于某些原因,在HTML5中无法检测图形之间的碰撞。相反,我使用了另一种方法,如果object2的坐标与object1的坐标相同,并且Y轴不在其上方,则会发生反应。

票数 0
EN

Stack Overflow用户

发布于 2019-06-13 11:09:50

您必须使用BitmapData.hitTest进行像素级检测。这是一个参数,所以你需要有一个像enter_frame这样的函数来不断地检查重叠。

Here您可以找到一个使用BitmapData.hitTest来检测与代表游戏区域的sprite失去联系的示例。您的要求正好相反,检测与另一个精灵的接触。但这本质上是相同的想法。

希望能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56569254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档