我想在Flash中进行快速渲染,我发现唯一的解决方案是动态创建精灵表。
使用BitmapData.draw()
从MovieClip创建精灵表。
我有一个图形管理器类,它有一个接受MovieClip和int的方法。 MovieClip是从中捕获图形的目标,int表示图像在360度内可以渲染的角度。
例如,如果提供的int是4
,我将得到以下结果:
如果我提供8
我会得到这个:
等等(最多360)。
该方法然后返回我创建的另一个类的实例,该类允许通过指定帧和旋转轻松捕获给定单元格的BitmapData,例如:
var myGraphics:SpriteSheet = aboveMethod(movieClip, 4);
var cell:BitmapData = myGraphics.getCell(2, 90); // frame 2 rotated to 90 degrees
创建这些精灵表明显会浪费大量的RAM - 特别是如果我有100多个帧的东西需要旋转到最接近的2度(总共1800个单元格)。
我不知道这些内存使用了多少RAM,而且我再也不知道我的游戏使用了多少RAM令人满意。
对此有任何建议会非常有帮助。注意:我确保在我自己的SpriteSheet定义的dispose()
方法中使用BitmapData.dispose()
来清理RAM,我更关心的是我可以在一个给定时间使用多少RAM(所有游戏资产都是将准备好使用)。
答案 0 :(得分:0)