Как-то так

Код AS3:
package
{
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
public class Main extends MovieClip
{
private var _source:IBridge;
public function Main(){
startLoading('LoadMain.swf');
}
private function startLoading(url:String):void {
trace('start');
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.load(new URLRequest(url));
}
private function loadHandler(e:Event):void {
e.target.removeEventListener(Event.COMPLETE, loadHandler);
_source = e.target.content as IBridge;
_source.addEventListener( VARS_EVENT.TRANSMITTER_REPORT, dataRecievedHandler );
testCall()
}
private function testCall():void {
_source.functionBat1();
_source.functionBat1();
_source.dataTransmitter('var1');
}
private function dataRecievedHandler(e:Event):void{
trace('Загруженный ролик получил данные');
}
}
}

Код AS3:
package {
import flash.events.IEventDispatcher;
public interface IBridge extends IEventDispatcher{
// Interface methods:
function functionBat1():void
function functionBat2():void
function dataTransmitter(sendData:*=null):void
}
}

Код AS3:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class LoadMain extends MovieClip implements IBridge{
public var nameB:String;
public function LoadMain() {
// constructor code
}
public function functionBat1():void
{
nameB = "but1";
trace(nameB );
transmitterReport();
}
public function dataTransmitter(sendData:*=null):void{
transmitterReport();
}
private function transmitterReport():void {
dispatchEvent( new Event(VARS_EVENT.TRANSMITTER_REPORT));
}
public function functionBat2():void
{
nameB = "but2";
trace(nameB );
transmitterReport();
}
}
}

Код AS3:
package {
public class VARS_EVENT {
public static var TRANSMITTER_REPORT:String = 'dataReport';
public function VARS_EVENT() {
// constructor code
}
}
}