Flash as2碰撞优化

时间:2012-08-24 09:44:03

标签: flash actionscript-2

现在我正在开发一个as2项目,需要在任何给定时间在屏幕上显示大量子弹和敌人。问题是,每个子弹要正确碰撞,我必须遍历每个敌人,看看距离是否在界限范围内。每一个子弹在每一帧中循环通过每个敌人真的加起来并且我的帧率正在受到打击。是否有其他方法可以进行此类检查?

1 个答案:

答案 0 :(得分:3)

我用于此类碰撞的最佳方法是二叉树方法。

你想首先为包含所有敌人的敌人创建一个外壳,子弹检查每个框架是否使用简单的命中测试与shell发生碰撞。然后你需要开始将敌人分成子壳,主shell将包含两个炮弹,每个炮弹将包含两个炮弹,依此类推。然后,一旦你检查子弹是否已击中主炮弹,你检查它是否已经击中了子炮弹1,如果它已经消灭了一半可能的敌人。然后你继续看看它是否已击中sub-shell-1-1如果它没有击中sub-shell-1-2则无需检查,再次你已经消除了一半的当前可能性一次打击测试。

:)