【问题标题】:How do I make my hitTestObject() more precise?如何使我的 hitTestObject() 更精确?
【发布时间】:2012-07-18 02:50:31
【问题描述】:

我正在用一个圆和一个正方形进行一些碰撞检测,每当圆与正方形接触时,它就会弹开,将其 X 坐标改变 *-1。然而,圆的Hit Area是一个正方形,所以即使它与圆周围的白色区域发生碰撞,影响仍然发生。

我的问题是,有没有办法将点击区域修改为更接近我的圆圈?

谢谢

【问题讨论】:

    标签: actionscript-3 flash actionscript collision-detection


    【解决方案1】:

    位图命中测试是基于像素的(而不是基于边界的,如基于 Sprite 的命中测试),因此它本质上更精确。

    Here 是上面的 Adob​​e 文档。

    Here 是一个很好的教程。

    这是一个不错的代码 sn-p:

    if (firstObjectBitmapData.hitTest(new Point(firstObject.x, firstObject.y), 255, secondObjectBitmapData, new Point(secondObject.x, secondObject.y), 255))
    {
        trace("hit!");
    }
    

    【讨论】:

    • 你应该简要描述链接的内容——这样一个经典的问题在未来很容易受到“死”链接的影响
    • @blaizor 我确实简要描述了链接的内容。我解释了位图命中测试的作用,建议使用它,并提供了一个工作代码示例。即使两个链接都死了,代码示例仍然回答了这个问题。我无法将整个 API 文档复制/粘贴到 SO 答案中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多