Хорошо, я схожу с ума, пытаясь вспомнить AS2 здесь, надеясь, что кто-то с лучшей памятью протянет руку ...
По сути, моя проблема заключается в использовании композиции и "ожидании" компонентов - например.компонент Button - чтобы быть готовым к прикреплению обработчика щелчков .. по разным причинам я ничего не могу поделать со всей установкой, поэтому вот ситуация ...
У меня есть мувиклип в библиотеке, нет классапросто идентификатор связи ("AttachMe").Этот клип имеет внутри себя компонент кнопки AS2 ('btn').
У меня есть класс, который получает ссылку на временную шкалу, затем присоединяет mc из библиотеки, затем добавляет прослушиватель событий к кнопке.Просто так?
var foo:Foo = new Foo(this);
class Foo {
private var tl:MovieClip; // timeline
private var mc:MovieClip; // the attached movieclip
function Foo(t:MovieClip){
tl = t;
mc = tl.attachMovie("AttachMe", "mc", 10);
var b:Button = mc.btn;
b.addEventListener("click", Delegate.create(this, onClick));
}
private function onClick(e:Object):Void{
trace("Hi!");
}
}
Это не сработает, так как b.addEventListener не определен в тот момент, когда я это делаю ...
Итак, что же здесь лучше всего делать?то есть это настоящая боль, и я знаю, что это «ожидание» инициализации компонента кнопки (в данном случае) перед добавлением обработчика событий.
Может сделать интервал / тайм-аут - ненавидеть идеютого, что.Может сделать enterFrame на mc, очистить его при первом вызове, затем добавить обработчик ... снова, просто кажется неправильным.onLoad не запускается для мувиклипа, поэтому я не могу добавить это (если бы я использовал наследование и пользовательский подкласс для библиотечного мувиклипа, я мог бы использовать onLoad).
Каждый способ кажется хаком, и мысльделать много раз удручает!Должно быть, это было сделано до смерти за эти годы, но я действительно не могу найти ничего, прямо упоминающего проблему и принятые решения ...
Любые мысли приветствуются!
Богат