Flash AS2:没有movieclip的Hittest?

Flash AS2:没有movieclip的Hittest?,flash,actionscript,actionscript-2,Flash,Actionscript,Actionscript 2,我在舞台上有数千个简单的电影剪辑(矩形),它们正在与另一个矩形进行碰撞测试,问题是我现在有太多的电影剪辑,这导致我的SWF播放有些起伏 我不能没有这些MCs,那么有没有人知道一种纯粹针对绘制的向量进行命中测试的方法?(向量由actionscript绘制)。我也尝试过将它们缓存为位图,但它们是非常小的矩形,在位图映射时看起来非常杂乱和丑陋 最好将所有矩形分别视为一个MC和hittest。hittest方法本身需要大量计算,这就是为什么在处理数千次碰撞时,您需要尽量减少该方法的使用或实现自己的碰撞检

我在舞台上有数千个简单的电影剪辑(矩形),它们正在与另一个矩形进行碰撞测试,问题是我现在有太多的电影剪辑,这导致我的SWF播放有些起伏

我不能没有这些MCs,那么有没有人知道一种纯粹针对绘制的向量进行命中测试的方法?(向量由actionscript绘制)。我也尝试过将它们缓存为位图,但它们是非常小的矩形,在位图映射时看起来非常杂乱和丑陋


最好将所有矩形分别视为一个MC和hittest。hittest方法本身需要大量计算,这就是为什么在处理数千次碰撞时,您需要尽量减少该方法的使用或实现自己的碰撞检测方法

Sham Bhangal(O'Reilly,2004年)在《闪电黑客》一书中描述了检测多重碰撞的简单方法。该方法的核心思想是将所有movieClip添加到一个容器movieClip中,然后测试该容器movieClip与点(或对象)的碰撞。你可以在网上搜索这一黑客行为的再版

如果该方法不适合您,那么您可能需要处理矩形碰撞检测技术(并摆脱hitTest)。您可以阅读这篇文章,其中显示了检测轴对齐边界框或AABB与其他对象之间碰撞的方法。定向边界框(OBB)之间碰撞的检测更加复杂,但您可以查找并修改。我在这篇文章中使用了上面链接中的算法。我已经包含了它的源代码(AS3而不是AS2),所以您也可以查看它