Flash / ActionScript 3: ссылочный загрузчик Document Class из загруженного Document Class - PullRequest
1 голос
/ 07 мая 2011

У меня есть класс документа FLA (скажем, Main.FLA) с дочерним MovieClip на сцене: в дочерний MovieClip Я хочу загрузить другие SWF-файлы: каждый из файлов содержит свой собственный класс документа (каждый SWF-файл являетсяПриложение Independet, скажем, викторины и так далее).По какой-то причине я должен использовать класс документа MAIN для хранения данных из дочерних SWF-файлов, загруженных в основной FLA.КАК мне ссылаться на основной класс?Я не могу найти способ ...

1 Ответ

0 голосов
/ 07 мая 2011

Когда я делал нечто подобное, я использовал события. Я создал класс:

   package {
   import flash.events.Event;

    public class QuestionAnsweredEvent extends Event {
        public static const QUESTION_ANSWERED:String = "QuestionAnswered";
        public var data:*;

        public function QuestionAnsweredEvent(type:String, data:*) {
            this.data = data;
            super(type, true);
        }

    }

}

Тогда В дочернем SWF я отправляю это событие:

dispatchEvent(new QuestionAnsweredEvent(QuestionAnsweredEvent.QUESTION_ANSWERED, questionData));

В родительский SWF-файл я добавляю стандартный прослушиватель событий, но внутри функции я могу получить свойство event.data для хранения отправленных данных.

Надеюсь, это поможет. Я относительно новичок в этом, но это хорошо сработало в моем проекте.

EDIT: В вашем основном классе:

swfmovieclip.addEventListener(QuestionAnsweredEvent.QUESTION_ANSWERED,onAnswer);

private function onAnswer(e:QuestionAnsweredEvent):void { 
storingVar = e.data; //this can change depending on the type of object you send 
} 

EDIT2: Вот как я загружаю свой SWF, который отправляет событие, содержащее данные:

var ldr:Loader = new Loader();
ldr.load(new URLRequest("RegionalQuestions.swf"));

ldr.addEventListener(QuestionAnsweredEvent.QUESTION_ANSWERED, questionAnswered);
questionsSWF = ldr;
addChild(ldr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...