У меня есть два файла swf, A.swf и B.swf, каждый со своим классом документа: B.swf загружается в мувиклип A.swf.При загрузке B.swf создает экземпляр CSDragger (это объект библиотеки со своим классом, расширяющим MovieClip) и устанавливает для свойства ID этого экземпляра определенное значение.Когда этот перетаскиватель сбрасывается пользователем после мувиклипа, он также отправляет пользовательское событие, содержащее значение идентификатора. Пользовательское событие регулярно достигает B.swf, но никогда не достигает A.swf. Помимо рефакторинга класса CSDragger (например, перемещения его метода handleDrop в классе документа B.swf), есть ли способ для событиядостичь A.swf?Я знаю, что могу перехватить его и отправить другое событие, но я искал другое решение (если есть).
В теле конструктора класса документов A.swf содержится следующее:
var ldr = new Loader();
ldr.load(new URLRequest("B.swf"));
menuLoader_mc.addChild(ldr);
Это пользовательский класс событий: класс CSDragger запускает событие ITEM_DATA, которое достигаеткласс документа B.swf (но не класс документа A.swf).Конечно, внутри B.swf и A.swf есть слушатели.
package events {
import flash.events.EventDispatcher;
import flash.events.Event;
public class ItemEvent extends Event {
public static const ITEM_DATA:String = "ItemData";
public var data:*;
public function ItemEvent(type:String, data:*)
{
this.data = data;
super(type, true);
}
}
}