在使用不同的图像文件时,如何在Actionscript 3中连接数组?

时间:2011-12-06 23:03:58

标签: actionscript-3

我在网上到处看看我是否能找到答案,我也在整个Adobe Flash Builder帮助网站上查看过,我似乎找不到具体的答案我是什么试图做。

可以引用图像文件名中的数组,这是场景。

我有一个图像列表,这些图像只是名称末尾的数字不同(例如,orangeimg1.jpg,appleimg2.jpg,strawberryim3.jpg等。参考图像我是否有可能以某种方式引用文件名中的数组,而不是一遍又一遍地重复相同的代码?

我有两个不同的数组设置一个用于水果的(橙色,苹果,草莓),我有另一个数字(1,2,3)的数组。我为这些组合中的每一个都有jpg图像,但是当我试图引用这些图像时,如何在一行中引用它。我觉得像source = "[fruit].img.[number].jpg"这样的东西会起作用,但我是新手,所以我很确定这是不对的。

我再次在网上找到了一些信息,但它没有提到如果我为我的图像编码源代码它会如何工作。

我真的很困惑,并希望得到任何帮助。感谢。

2 个答案:

答案 0 :(得分:1)

使用+连接字符串。

var fruits:Array = ["banana", "cherry"];
var numbers:Array = [4, 2];
var source = fruits[0] + "img" + numbers[0] + ".jpg";  // bananaimg4.jpg

如果要创建多个文件名,可以使用循环:

for(var i:int = 0; i<fruits.length; i++) {
    var source = fruits[i] + "img" + numbers[i] + ".jpg";
    // ...
}

你可能不需要那个数字数组。如果这些数字是有序的,你可以计算循环中的数字:

for(var i:int = 0; i<fruits.length; i++) {
    var source = fruits[i] + "img" + (i+1) + ".jpg";
    // ...
}

答案 1 :(得分:0)

以上答案很好,但我只做了一些修改,以使代码更有效。 我们可以在给定的格式下使用for循环。它的优化代码:

var len:uint = fruits.length;
for(var i:int = 0; i<len; i++) {
        var source = fruits[i] + "img" + (i+1) + ".jpg";
        // ...
    }