Показать сообщение отдельно
Старый 12.03.2004, 12:11
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
тавагисчи :)
евал никому уже давнооо не нужен.

к любому методу/свойству объекта можно обратиться двумя способами:
1. имя_объекта.имя_свойства
2. имя_объекта["имя_свойства"]

в первом случае имя_свойства - это любой допустимый идентификатор

во втором случае имя_свойства - это строка. (или любое выражение в результате выполнения которого получается строка)

на данном примере:
есть объект _root, внутри него создаем объект с именем bname. (а bname - это строка)
значит после создания можно будет обратиться к нему так: _root[bname]

но тут даже это не нужно - функция createEmptyMovieClip возвращает ссылку на созданный ею клип.

я обычно, чтобы не писать лишнего, делаю как-то так:
var mc = _root.createEmptyMovieClip(bname, k);

и после этого обращаюсь к mc, чтобы установить какие-то свойства клипа.

функция attachMovie, кстати, тоже возвращает ссылку на приаттаченный клип. этим удобно пользоваться:

var btn = _root[bname].attachMovie("button", captionb, 2);
btn._x = 123;
btn._y = 456;

запись получается гораздо короче..

но можно конечно и так:
_root[bname].attachMovie("button", captionb, 2);
_root[bname][captionb]._x = 123;
_root[bname][captionb]._y = 456;

..такое обращение уже смотрится как операция с двумерным ассоциативным массивом