ГлавнаяActionScript 3 — «100 советов» › instance name мувиклипа на сцене

instance name мувиклипа на сцене

June 19th, 2006
Во Flash 9, когда вы размещаете MovieClip на сцене (timeline) с указанием имени (instance name), автоматически происходят сразу два действия:
1. Вы присваиваете методу «name» этого мувиклипа строку эквивалентную instance name.
2. Вы создаете переменную в timeline с именем аналогичным instance name мувиклипа со ссылкой на этот мувиклип.
Флеш делает все это самостоятельно при компиляции SWF файла, чтобы помочь вам управлять мувиклипами на сцене. Важно понимать, что при создании мувиклипами средствами ActionScript, эти действия не выполняются автоматически.
К примеру:

Код:
// Здесь «my_mc» это instance name мувиклипа на сцене trace(my_mc); // [object MovieClip] trace(my_mc.name); // my_mc // Создаем мувиклип с помощью AS и добавляем его к my_mc var another_mc:MovieClip = new MovieClip(); another_mc.name = "child_mc"; my_mc.addChild(another_mc); // Переменная для доступа к созданному мувиклипу // автоматически не создается в my_mc trace(another_mc); // [object MovieClip] trace(my_mc.child_mc); // undefined trace(my_mc.another_mc); // undefined

Если нужно получить ссылку на мувиклип (или любой DisplayObject) по его имени (свойству name), нужно использовать метод getChildByName();

Код:
trace(my_mc.getChildByName("child_mc")); // [object MovieClip];

MerlinTwi: В дополнение к примеру стоит отметить, что поскольку любой мувиклип размещенный на timeline является динамическим, то можно просто создать в нем новое свойство ссылающееся на созданный мувиклип.

Код:
// Создаем мувиклип с помощью AS и добавляем его к my_mc var another_mc:MovieClip = new MovieClip(); another_mc.name = "child_mc"; my_mc.addChild(another_mc); // создаем в my_mc новое свойство «another_mc» для ссылки на новый мувиклип my_mc.another_mc = another_mc; // проверяем trace(my_mc.another_mc); // [object MovieClip]

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Методы getProperty и setProperty класса Proxy XML и XMLList
  1. Пока без комментариев.
  1. Пока нету.