Когда я делал нечто подобное, я использовал события.
Я создал класс:
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);