-------------------------- начать редактирование ------------------- ----------------
Файл .fla является документом Flash IDE!
Откуда берется ваша переменная sourceId?
В вашем примере это, кажется, происходит от flashvars, что означает, что вы получите значение из вашего кода встраивания SWF.
Если это так, это не относится к вашему файлу .fla, потому что вы не загрузите внешний SWF-файл, используя встроенный HTML-код.
Давайте на время забудем о flashvars ... Используете ли вы Document Class с вашим файлом .fla? Если нет, то я бы посоветовал вам сделать это намного проще. Если да, то я полагаю, что вы загрузите внешний SWF там.
Во внешнем SWF-файле вы можете использовать событие для отправки пользовательских событий ...
//in your external SWF
private function onAddedToStage( event:Event ):void
{
//you could use a Custom Event
//do some research on AS3 custom events...
var idEvent:YourEvent = new YourEvent();
idEvent.sourceId = sourceID;
this.dispatchEvent( idEvent );
}
//then in your .fla's Document Class
private var sourceId:Object;
private function addExternalSwf( event:Event ):void
{
var external:MovieClip = event.currentTarget.content as MovieClip;
external.addEventListener( YourEvent.SOURCE_ID , idEventListener );
addChild( external );
//remove addExternalSwf listener here...
}
private function idEventListener( event:YourEvent ):void
{
sourceId = event.sourceId;
//remove idEventListener listener here...
}
---------------------- конец редактирования ----------------------- ------
Ваш вопрос действительно неясен ... Я могу пойти только по примеру кода, который вы даете
public function initialize(parameters:Object, stage:Stage,
loaderInfo:LoaderInfo, pluginHostWhitelist:Array):void
{
//here you're retrieving the sourceID variable
//from the loaded SWF
sourceId=loaderInfo.parameters.src;
//Inside this function i load the a.swf file,
//here i want to access the variable "sourceId"...???
if( sourceId != null )
addText( sourceId );
else
trace('sourceID has a null value!!!!');
//why do you remove the event listener here
//and not within the onAddedToStage method???
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function addText(sourceId:Object):void
{
//....
}