我试图通过将一个字符串传递到movieclip地址来动态地处理同一个动画片段的不同实例,但显然我不知道我在做什么。我正在尝试下面的事情:
var vsTargetName:String;
vsTargetName = "instance50";
vsTargetName + vsThumb.thumbHighlight.visible = true;
这样的事情可能吗?我做错了什么/我需要做些什么才能做到这一点?
答案 0 :(得分:1)
您可以使用getChildByName。 例如:
var vsTargetName:String = "instance50";
//container is a parent of vsTarget
var vsTarget:MovieClip = container.getChildByName(vsTargetName);
vsTarget.thumbHighlight.visible = true;
答案 1 :(得分:1)
您可以为DisplayObjects交换对象表示法和数组表示法。
所以:
var vsTargetName:String = "instance50";
this["instance50"] === this.instance50 === this[vsTargetName]
希望有所帮助。您可以使用不同的组合来选择所需内容:
var num:String = 50;
this["instance" + num]
上面的代码对MovieClip名称编号时的循环非常有用。
答案 2 :(得分:0)
在AS2中,你必须调用eval()将字符串转换为它们的相对阶段对象。不知道你将如何在AS3中做到这一点,我是新手。
var myID = "someObjectID";
var myObject = eval("someParent." + myID);
myObject._visible = false;