【发布时间】:2015-02-01 02:23:27
【问题描述】:
我正在为学校项目(使用 AIR api)在 AS3 中制作游戏。我在 AS3 方面有大约一年的经验,所以我会说我精通但不是专家。无论如何,我从未尝试在 AS3 中制作精灵动画,我不太确定如何处理它。
如果我创建一个位图列表并调用 addChild() 和 removeChild() 来显示动画的每一帧,它会影响帧率,因为这些函数效率不高(我之前尝试过,但它降低了我的帧率如果我一次有太多动画)。我也尝试过创建一个 BitmapData 对象列表,将位图添加到显示列表中,然后将其指向每帧不同的 BitmapData,但这似乎根本不起作用。
那么最好的方法是什么?例如,在 XNA 中,我将创建一个使用 sprite 批处理绘制到屏幕的 sprite 类,然后我将创建一个 sprite 对象列表并在它们之间循环以创建动画。有什么方法可以在 actionscript 中实现类似的结果?
【问题讨论】:
-
使用一个位图在 BitmapDatas 中循环有什么问题?自从我完成 AS3 以来已经有一段时间了,但我没有看到不这样做的明显理由。
-
@31eee384 显然他已经在该位图或该位图的任何父项上设置了
cacheAsBitmap,这会破坏基于位图的动画。 -
@31eee384 我确实找到了一种让它工作的方法,我只需要在创建位图对象后立即设置位图数据,然后再尝试更改任何属性。
标签: actionscript-3 animation flashdevelop