2

我有一个简单的问题。我正在使用 actionscript 3.0 和 Adob​​e flash Professional cs6 来制作游戏。我想让它保持简单、干净且不拖沓,但对于我的游戏,我需要许多(10-30)个电影剪辑同时在屏幕上以不同的方式移动。我想为 Event.ENTER_FRAME 事件使用基于时间的动画,但我不知道是否让每个人(因为它们都是可以做到这一点的超类所固有的)movieclip 跟踪自己的时间并自行移动这样,或者让管理器类跟踪时间,然后以时间作为参数调用所有影片剪辑的函数。我想知道到底哪个更快。

4

1 回答 1

3

要添加到上面链接的好答案,您应该仔细考虑并计划您的游戏的哪些组件需要最多的关注和优化。试图优化各个方面将变得极其繁琐且难以管理。除此之外,某些类型的优化不能同时发生(例如,您通常不能同时优化速度和内存消耗,因为改进其中一个会降低另一个)。

例如 - 如果您知道您的游戏将在屏幕上发生很多事情(大量图形和效果),那么您应该认真考虑一个专注于渲染性能的库,例如Starling,它利用更新的 Stage3D API 来改进绘图速度极快。

如果在另一个示例中,您的游戏需要在对象之间进行大量测量并实现诸如光线投射和寻路之类的东西,那么您应该研究如何为您的游戏构建一个可以最有效地运行这些算法的网格。

至于清洁度,特别是当您提到 时Event.ENTER_FRAME,您应该只在游戏的主类(或类似的处理程序类)中为此事件实现一个处理程序。您的实际游戏对象应列在此类的数组中,并且 enterFrame 处理程序应遍历该数组并在每个对象上调用一个函数,即update()或类似的。

于 2013-08-25T23:20:55.357 回答