2012-07-18 76 views
0

我正在用一个圆形和一个正方形进行一些碰撞检测,并且每当这个圆与它所反射的正方形接触时,它就会通过* -1改变它的X坐标。然而,圆的命中区域是一个正方形,所以即使它与圆周的白色区域发生碰撞,仍然会发生这种情况。如何让我的hitTestObject()更精确?

我的问题是,有没有办法修改命中区域以更接近我的圈子?

由于

回答

2

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

Here是它的Adobe文档。

Here是一个很好的教程。

这里是它一个很好的代码片段:

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

你应简要描述链接的内容 - 比如一个经典的问题是很容易在未来 – blaizor 2015-02-08 05:23:47

+0

@blaizor我做“死”链接简要描述链接的内容。我解释了什么是位图命中测试,建议使用它,并且我提供了一个有效的代码示例。即使两个链接都死了,代码示例仍然回答这个问题。我无法将整个API文档复制/粘贴到SO答案中。 – redhotvengeance 2015-02-08 07:22:47