Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何制作对象';什么键更具活力?_Arrays_Actionscript 3_Flash - Fatal编程技术网

Arrays 如何制作对象';什么键更具活力?

Arrays 如何制作对象';什么键更具活力?,arrays,actionscript-3,flash,Arrays,Actionscript 3,Flash,我有一个AssetManager单例,我正在使用它作为各种数据提供程序 publicstaticvar L1_1:Object={pic:'../Assets/images/test.jpg',答案:'someAnswer',池:'somePool'} 因此,我尝试在另一个类中使用它来获取图像类的路径,该类将字符串作为参数,如下所示: var-image:image=新映像(AssetManager.L1_1.pic,540540) 这很好,但是,我需要增加上面的第二个'1'使其动态,这样我可以

我有一个AssetManager单例,我正在使用它作为各种数据提供程序

publicstaticvar L1_1:Object={pic:'../Assets/images/test.jpg',答案:'someAnswer',池:'somePool'}

因此,我尝试在另一个类中使用它来获取图像类的路径,该类将字符串作为参数,如下所示:

var-image:image=新映像(AssetManager.L1_1.pic,540540)

这很好,但是,我需要增加上面的第二个'1'使其动态,这样我可以说,例如

var-image:image=新映像(AssetManager.L1_5.pic,540540)

我尝试过这样的方法,传递imageNum属性,但无法对其进行排序

var-tempObj:Object=['AssetManager.L'+imageNum+'\'+imageNum+'.pic'];
跟踪(tempObj)


有没有更简单的方法?谢谢

我现在只需使用如下数组即可修复:

publicstaticvar L1_1:Array=newarray();
L1_1[0]=['../Assets/images/test.jpg',“apple”,“appletakeout”]

并称之为:

image=新映像(AssetManager.L1_1[0][imageNum],540540)


它能工作,只是感觉有点凌乱。如果有更有效的方法来做这件事,我很想听听。谢谢。

可以使用括号语法访问AS3中的静态和公共属性

下面是一个例子:

public static var L1_1:Object = {pic:'../Assets/images/test.jpg', answer:'someAnswer', pool: 'somePool'};

var imageNum:int = 1;
var propertyName:String = "L1"+ "_" + imageNum.toString();
var tempObj:Object = AssetManager[propertyName]; 
var pathToPic:String = tempObj.pic;
trace(pathToPic);
上面的例子应该追溯到
。/Assets/images/test.jpg

但是,请注意,括号语法比点语法慢,并且在编译时不会进行类型检查


我希望这会有所帮助。

确实很有帮助。非常感谢!你知道我在下面使用的数组是否会比你提到的使用括号的数组慢吗?我猜数组会更快,尽管我还没有测试过这个。我想说的是,除非速度对你来说是个问题,否则你可能应该瞄准最容易阅读的东西,因为这将是未来最容易维护的东西。