hitTestObject
来检测我正在制作的Android应用中的冲突。经过一段时间的测试,我意识到游戏正在检测“假”碰撞。我的意思是它在物体的像素接触时检测到不的碰撞,但是(在做了一些研究之后)我发现了盒子碰撞的对象。所以我让游戏停止了碰撞,这就是它的样子:
为了清楚起见,我尝试勾勒出两个对象的框。你可以看到他们的盒子正在触摸。有没有办法让它在像素碰撞时检测到?
无论如何:在actionscript-3中有任何方法来检测像素是否会发生碰撞,如果是这样的话。我可以使用哪些功能和/或命令?
答案 0 :(得分:2)
正如您所注意到的,hitTestObject中的命中区域默认为矩形,因为它们使用边界框。
您可以使用...
逐点测试对象的实际形状hitTestPoint(someobject.x, someobject.y, true);
(参见documentation。)
对于自定义形状的命中区域,您还可以使用位图命中测试。 (See accepted answer here.)
答案 1 :(得分:1)
碰撞检测多年来一直是编码员的主要障碍。有许多不同的方法可以检测碰撞:
我发现hitTestPoint是最实用的。但是,在您的情况下,您可能想要沿着BitmapData行: http://www.freeactionscript.com/2011/08/as3-pixel-perfect-collision-detection/
干杯, Drake Swartzy
答案 2 :(得分:-1)
if(instanceName1.hitTestObject(instancename2) == true)
{
//execute the code you want
}
instanceName1和2是porgram中的给定名称