Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
flashas2碰撞优化_Flash_Actionscript 2 - Fatal编程技术网

flashas2碰撞优化

flashas2碰撞优化,flash,actionscript-2,Flash,Actionscript 2,现在我正在做一个as2项目,它要求在任何给定的时间都有大量的子弹和敌人出现在屏幕上。问题是,为了使每颗子弹都能正确地碰撞,我必须在每一个敌人身上绕一圈,看看距离是否在界限之内。在每一个敌人身上循环每一颗子弹每一帧都在增加,我的帧速率也在上升。是否有其他方法来执行这种类型的检查?我用于这种类型冲突的最佳方法是二叉树方法 首先,您需要为敌人创建一个包含所有敌人的外部外壳,每帧子弹都会使用简单的命中测试来检查它们是否与外壳发生碰撞。然后你需要开始将敌人分成子炮弹,主炮弹将包含两个炮弹,每个炮弹将包含两

现在我正在做一个as2项目,它要求在任何给定的时间都有大量的子弹和敌人出现在屏幕上。问题是,为了使每颗子弹都能正确地碰撞,我必须在每一个敌人身上绕一圈,看看距离是否在界限之内。在每一个敌人身上循环每一颗子弹每一帧都在增加,我的帧速率也在上升。是否有其他方法来执行这种类型的检查?

我用于这种类型冲突的最佳方法是二叉树方法

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


:)

这听起来正是我需要的。今晚我将努力实施,谢谢!