Actionscript 3 使用对象名称对对象进行更改
我已经创建了一个对象的多个实例,每个实例都有自己的实例名,末尾有数字。我希望遍历这些名称(它们的末尾有数字),修改它们的属性,然后将它们推送到一个数组中,所有这些都是通过实例名称,而不是实际的对象实例Actionscript 3 使用对象名称对对象进行更改,actionscript-3,flash,flash-cs4,Actionscript 3,Flash,Flash Cs4,我已经创建了一个对象的多个实例,每个实例都有自己的实例名,末尾有数字。我希望遍历这些名称(它们的末尾有数字),修改它们的属性,然后将它们推送到一个数组中,所有这些都是通过实例名称,而不是实际的对象实例 if (instance60.currentFrame == 4) { array.push("instance60") } 第一个instance60是指对象本身,第二个instance60只是一个推送字符串,我想你要做的是设置一个键值对 关键是以后如何找到对对象的引用 instanc
if (instance60.currentFrame == 4)
{
array.push("instance60")
}
第一个instance60是指对象本身,第二个instance60只是一个推送字符串,我想你要做的是设置一个键值对 关键是以后如何找到对对象的引用
instances["instance"+60] = instance60;
您可以使用以下方法循环:
for(var i:uint=0;i<instances.length;i++){
instances["instance"+i] = new Sprite();
instances["instance"+i].x = 20;
instances["instance"+i].y = 20*i;
//etc...
}
for(var i:uint=0;iYou可以使用DisplayObjectContainer.getChildByName(…)方法通过某些容器的名称以字符串形式访问其显示子对象。如果您开始通过引用而不是名称跟踪新创建的对象,总体上会更好。也就是说,您可以创建一个saynew Apple()
在某个地方,将其添加到苹果数组中,然后迭代并对其执行所需的操作。
for(var i:uint=0;i<instances.length;i++){
instances[i] = new Sprite();
instances[i].x = 20;
instances[i].y = 20*i;
this.addChild(instance[i]);
//etc...
}