直接管理动画片段绘图。 AS3

时间:2010-12-12 07:13:14

标签: actionscript-3 performance movieclip

所以,我想知道是否可以停止所有动画,进行计算,例如“移动一堆敌人动画片段,移动一些子弹等”,然后再次启动动画以便所有绘图都会发生立刻。

我的应用程序将在我游戏的游戏循环中。我遇到的问题是我在屏幕上有大约50个敌人,所有这些都在快速移动,我遍历阵列并移动每个MovieClip。有一些滞后,我想以任何方式摆脱它。

如果我正确理解AS3,它会在每次更改每个MovieClip的X和Y值后尝试绘制到屏幕。通过停止动画,设置这些值,然后再次启动它,我想我会提高性能。

2 个答案:

答案 0 :(得分:1)

如果性能是您的目标,您可能需要考虑删除MovieClip(这是非常昂贵的)用于bit-blitting。基本上你是计算运动,碰撞等,然后将一个绘制到位图画布而不是绘制每个MovieClip。

使用Bitmaps替换任何矢量图也将大大加快渲染速度。尝试使用尽可能少的帧。有关Blitting的更多信息,请查看8bitrocket

答案 1 :(得分:0)

Flash渲染每帧一次。你可以在所有你想要的“之间”框架周围移动东西。所以,你现在移动敌人的方式是正确的方法。

使用blitting是一种核选项,你可以获得很多性能,但你也会失去flash提供的许多好处,例如旋转/缩放和鼠标/交互位。

在没有看到游戏的情况下很难给出任何其他指针,但一般来说,尽量避免大面积的透明度,屏蔽可能很昂贵并且过滤器可能很重要。