2

我得到了 42 张要嵌入的图像,然后放在一个数组中。我试图在 for 循环中执行此操作,但它似乎不起作用。我怎样才能避免有 42 条嵌入线 + 一条很长的阵列线?

4

2 回答 2

2

嵌入多个图像而不为每个图像嵌入线的唯一方法是使用 Sprite Sheet(有时称为“Texture Atlas”,或简称为“Sprite”)。这将获取一个图像文件夹,并生成一个大图像。并且还为您提供文件夹中所有图像的数据文件(使用 XML 或 JSON)以及它们在 Sprite 表中的位置。

然后,您可以嵌入 Sprite Sheet 一次。

为此,您需要两件事:

1/ 创建精灵表的软件...有很多可用的工具,例如我使用的一个是Texture Packer: http: //www.codeandweb.com/texturepacker

2/ 一个动作脚本类或框架,旨在处理从您的 sprite 表中引用图像...这是 Starling 的本机功能,但如果您还没有准备好支持 Flash Player 11,那么您可以找到一些公开可用的框架: 例如: Spriter : http://abeltoy.com/projects/spriterAS3/usage.html有一个名为 BitmapSpriter 的类来处理 AS3 中的原生精灵表。

于 2013-10-07T11:02:47.683 回答
0

您可以使用 for each 循环。

var items:Array = ["hi", "there", "bob"];
for (var index in items) {
    trace(index+" => "+items[index]); // traces "0 => hi", "1 => there" and "2 => bob"
}
于 2013-10-06T23:16:02.580 回答