![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Понятно, как вызвать метод мувиклипа, из функции, в котором она описана.
А как вызвать (используя относительный, а не полный путь и без изврата вроде _parent.имя-текущего-клипа) метод клипа с динамическим именем, созданным внутри мувиклипа? Т.е., к примеру, есть мувиклип _root.fire В нем объявлена некая функция, которая создает в нем мувиклипы с именем типа "particle"+i Если использовать , то ничего не произойдет. Замечено, что по статичной ссылке легко обращаться (просто писать без this): вызывается без проблем. Но ведь нельзя использовать оператор [] для указания динамического имени, если перед ним ничего не ставить... Помогите разобраться, пожалуйста. Переменные-то просто задавать таким образом: А как вызвать метод? Так и не разобрался, сделал по-другому. Но вопрос все равно актуален...
__________________
Дело не в тебе Последний раз редактировалось iNils; 07.10.2007 в 07:15. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Все работает. sample.rar.
|
|
|||||
|
Видимо, это из раздела плясок с бубном. Ваш код работает - вставляю его в свой ролик - перестает работать
![]()
__________________
Дело не в тебе |
|
|||||
|
Нет, AS2
__________________
Дело не в тебе |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Выложите исходник.
|
|
|||||
|
Да что ж такое... опять с этой проблемой столкнулся. С ума сойду, наверное.
if(this["container"+number].imageLoaded==false){//если картинка еще не была загружена
this.mcLoader = new MovieClipLoader();
this.loadListener = new Object();
loadListener.onLoadComplete = function() { //вызывается при полной загрузке картинки
trace("Картинка "+prefix+number+postfix+" загружена")
trace(this["container"+number]) // ПРОБЛЕМА: возвращает undefined =(
trace(container1) //возвращает полный путь, все ок
trace(_root.switcherMC["container"+number])//возвращает полный путь, все ок
//this["container"+number]._alpha=0
//setInterval(fadeIn,transition_update_interval)
}
mcLoader.addListener(loadListener);
mcLoader.loadClip(prefix+number+postfix, this["container"+number]);
//trace(this["container"+number])
}
(Upd: есть подозрение, что this ссылается тут на сам листенер - выдает [object Object] Что делать? ![]()
__________________
Дело не в тебе Последний раз редактировалось AL.exe; 10.11.2007 в 00:43. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну правильно, ведь this ссылается на loadListener. Необходимо использовать Delegate.
|
|
|||||
|
Уже копаюсь в описании к нему... странно, что так сделано. Вернее, странно то, что работает вот это:
__________________
Дело не в тебе |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|