Просмотр полной версии : Обработчик событий
Мувиклип аттачится программно, когда пользователь совершает определенные действия. Тогда каким образом приписать обработчик событий к этому программно созданному мувиклипу?
screamge
13.05.2007, 07:48
точно также как и к неотаченному
[ссылка на объект].onEvent = function ...
Но ведь аттачится мувиклип не сразу после загрузки приложения, а после совершения пользователем некоторых действий. Поэтому обычным образом обработчик событий не приписать. Он не действует тогда.
screamge
13.05.2007, 08:34
мувик который аттачится ведь есть на сцене?
В том-то и дело, что нет.
screamge
13.05.2007, 08:58
когда аттачите тогда и вешайте на него обработчика, а вообще я заюзал бы класс для аттачащегося.
И вообще как вы аттачите если клипа нет на сцене и он не экспортируется в первом кадре?
Нет, он экспортируется в первый кадр.
Выходит, что нужно применять конструкцию "обработчик в обработчике", если без использования класса для аттачевающегося ?
или аттачить с initObj:
function testPress():Void{ trace(this + " pressed"); }
function testRelease():Void{ trace(this + " released"); }
var initObj:Object = {
onPress:testPress,
onRelease:testRelease
}
attachMovie("mc","mc",1,initObj);
initObj может быть один на много мувиков
Но я не пойму, что может сделать пользователь, что обработчик не вешается? Флеш закрывает?
Я недосказал. Дело в том, что в том клипе, который аттачится, есть еще несколько мувиклипов. И обработчик нужно привязать к одному из этих вложенных клипов.
К самому аттачивающемуся клипу привязать обработчик я с вашей помощью смог. А вот как привязать обработчик к вложенным клипам?
Можно, конечно, написать обработчики в аттачивающемся клипе, но мне нужно повесить обработчики в 'главном' клипе. 'главный' - тот, куда аттачивается мувиклип.
var depth = 0;
var mc = this.attachMovie("movie", "mc", depth);
mc["innerMC"].onPress = ...
Благодарю. Я наконец-то нашел в чем у меня проблема на самом деле была. Вот в чем.
На клип (со вложенными клипами), который аттачится, повешен обработчик события onRollOver в 'главном' мувике (в который аттачится клип). В этом же 'главном' клипе повешен обработчик этого же события onRollOver на один из вложенных клипов. Видимо происходит какое-то перекрывание и обработчик этого события, повешенный на вложенный клип не выполняется. Выполняется только обработчик события аттачивающегося мувика.
А каким тогда образом можно установить синхронность выполнения обработчиков?
Не вкладывать мувики друг в друга.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.