вставить строковую информацию в адрес мувиклипа в as3? - PullRequest
0 голосов
/ 18 октября 2010

Я пытаюсь динамически адресовать разные экземпляры одного и того же фрагмента ролика, передавая строку в адрес фрагмента ролика, но, очевидно, я не знаю, что я делаю. Я пытаюсь что-то вроде ниже:

var vsTargetName:String;
vsTargetName = "instance50";
vsTargetName + vsThumb.thumbHighlight.visible = true;

Возможно ли что-то подобное? Что я делаю не так / что мне нужно сделать, чтобы это работало?

Ответы [ 3 ]

1 голос
/ 19 октября 2010

Вы можете использовать getChildByName .Например:

var vsTargetName:String = "instance50";
//container is a parent of vsTarget
var vsTarget:MovieClip = container.getChildByName(vsTargetName);
vsTarget.thumbHighlight.visible = true;
1 голос
/ 19 октября 2010

Вы можете поменять нотацию объекта и нотацию массива для объектов DisplayObject.

Итак:

var vsTargetName:String = "instance50";
this["instance50"] === this.instance50 === this[vsTargetName]

Надеюсь, это поможет. Вы можете использовать различные комбинации, чтобы выбрать то, что вам нужно:

var num:String = 50;
this["instance" + num]

Приведенный выше код очень полезен для циклов, когда имена MovieClip нумеруются.

0 голосов
/ 18 октября 2010

В AS2 вам пришлось вызывать eval () для преобразования строки в объект относительной стадии.Не уверен, как бы вы сделали это в AS3, я новичок в этом.

var myID = "someObjectID";
var myObject = eval("someParent." + myID);
myObject._visible = false;
...