2012-08-11 45 views
0

所以,我试图让我的Flash“游戏”运行更顺利。我为每个对象使用单独的PNG文件来创建播放器动画。AS3 - 使用精灵表来优化我的游戏

我听说过有些地方使用这样的单个文件很糟糕。

我听说过使用精灵表来压缩数据并减少内存使用量。

也许我错了,但有没有办法将我的所有PNG图像(透明度)合并在一起,以便flash可以继续单独使用图像?

我真的很想找到方法让我的程序运行得更顺利,以便能够在屏幕上显示大量图像而没有太多滞后。关于如何让事情变得更好的任何想法?

Here is an example of a tile based game I'm trying to make that is having serious lag issues.

回答

0

使用Photoshop或类似的软件,你将所有的动画帧合并成一个文件。文件的大小和形状可以是任何你想要的,但是每个'帧'应该是相同的大小,以相同的顺序并且它们之间没有空间。例如,假设每个帧都是25x25像素,您的步行动画是10帧,并且您希望最终的.png是一个长条。您将制作一个尺寸为250X25或25X250的新.png,然后按动画顺序将所有帧插入该文件。如果要将它们嵌入显示对象或加载的文件,则取决于您,但是一旦拥有它们,您只需使用BitmapData将输入文件分解为新的BitmapData对象,然后根据需要显示它们。再往前走一步,让我们说大多数(如果不是所有的)角色都有散步动画和动作动画,你可以让一个类来处理加载角色动画,而图像文件的第一行将是散步动画,第二行将是动作动画。

+0

只是一个供参考,你不需要打破他们备份。您可以在stage3d中使用'scrollRect'或类似的技术来仅显示一段位图 – 2012-08-11 12:43:24

1

TexturePacker允许合并png文件。它会生成两个文件:png和配置文件。 Png只是合并的图像和配置文件是txt文件,您可以加载到您的瑞士法郎,解析和分解您的图像使用它。配置可以针对不同的游戏引擎以各种格式。