我正在开发一个类似于Android游戏连锁反应的项目。
网格和结构已完成。唯一的问题是让碰撞算法正确。
我需要一个更加动态的解决方案。
答案 0 :(得分:0)
在我看来,你不必使用像hitTestPoint HitTestObject这样的复杂方法。
你需要检查的是圈子半径和圈子之间的距离:(猜猜你在某个地方存储了你的圈子列表!)
for each(var circle1:* in listOfCircle)
{
for each(var circle2:* in listOfCircle
{
if(distance between circle 1 and circle 2 < (circle1 radius/2) + (circle2 radius/2))
{
//Collision
}
}
}
当然你必须避免检查相同圆圈之间的距离。
你可以在这里找到2点之间的距离:
Distance between two points
现在,如果您正在寻找高性能游戏,我会立即使用Starling Framework: http://gamua.com/starling/
但如果它只是一个培训的个人项目,一切都会好起来的。)