0

正如标题所述,我想知道在舞台上同时处理多个影片剪辑的最佳方式是什么,每个影片剪辑都有自己的 onEnterFrame 函数。假设屏幕上同时有 50 个敌人,不断播放行走动画。onEnterFrame 函数将包括获取方向、移动 X/Y 值、检查玩家与自身之间的距离、检查它是否处于可攻击距离等。您可以想象会发生很多延迟。

通常可以克服此问题的一种游戏类型是僵尸游戏,您将在屏幕上同时出现多个僵尸。

在处理这样的多个电影剪辑时,减少延迟的最佳方法是什么?

4

1 回答 1

3

每个 onEnterFrame 侦听器都会创建新的事件对象,因此您拥有的 onEnterFrame 侦听器越多,每帧创建的对象就越多。在 AS2 中,对象创建非常缓慢。

因此,要考虑的一种优化是只注册一个onEnterFrame 事件,然后从那个“主” onEnterFrame 循环遍历所有敌人等,并在每个实例上调用一个更新函数。

从代码结构的角度来看,这也是一个好主意,因为您现在每帧只有一段代码运行。它使查看每个帧实际运行的内容变得更加容易。要暂停游戏,您只需停止主 onEnterFrame,整个游戏就会停止。

于 2013-05-31T09:54:23.943 回答