2010-07-06 2 views
0

Мне интересно и надеяться, если я могу получить доступ к конкретному экземпляру объекта, если у меня есть только имя экземпляра объекта в строке? Код ниже, возможно, объясняет это лучше.Можно ли превратить строку в ссылку на объект?

public function myFunction(){ 
    var myArbItem:mcArbItem = new mcArbItem(); 
    //mcSomeItem has another movieclip on it called 'itemLogo' 

    //elsewhere there is an object called ArbItem 
    ArbItem.addEventListener(MouseEvent.CLICK, showItem) 
} 

private function showItem(e:MouseEvent){ 
    var objectName:String = 'my' + e.target.name; 
    //now I have the name of the object, that is myArbItem, can I with this 
    //information e.g. set "myArbItem.itemLogo.visible = false;" 
    //or "addChild(myArbItem);"? 
} 

ответ

3

Используйте функцию getChildByName.

+1

Похоже Eval не используется больше в AS3, ваш ответ привел меня к правой функции, хотя getChildByName(). Приветствия и благодарности. – Bjorninn

+0

Добро пожаловать :) – mcandre

0

вы также можете сделать это следующим образом:

var objectName = ["my"]+e.target.name; 

должен заставить тип его к клипу ИЛИ:

var objectName:MovieClip = ["my"]+e.target.name as MovieClip; 

я использовал эти методы до и они работали очень хорошо. Я использую его много в циклах, где я динамически создаю объекты и нуждаюсь в их исправлении позже.

-Dig

Смежные вопросы