Добавьте прослушиватель событий для Event.COMPLETE в свой объект loaderInfo, чтобы вы знали, когда ваш SWF-файл полностью загружен, и, следовательно, все его свойства правильно инициализированы / готовы:
this.loaderInfo.addEventListener(Event.COMPLETE, ready);//wait for this swf to be loaded and have flashVars ready
function ready(event:Event):void{
var params:Object = this.loaderInfo.parameters;
var paramValues:String = '';
for(var i:String in params) paramValues += i + " : " + params[i] + "\n";
myText.text = paramValues;
}
Обратите внимание, что выне может иметь слишком много данных в ваших flashVars, но вы можете передать URL в текстовый файл, который может содержать больше.В приведенном ниже примере, если flashVar с именем testFile
указывает на текстовый файл, он затем загружается и добавляется к myText
.
var myText:TextField = addChild(new TextField()) as TextField;
myText.multiline = true;
myText.border = true;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.wordWrap = true;
this.loaderInfo.addEventListener(Event.COMPLETE, ready);//wait for this swf to be loaded and have flashVars ready
function ready(event:Event):void{
var params:Object = this.loaderInfo.parameters;
var paramValues:String = '';
for(var i:String in params) paramValues += i + " : " + params[i] + "\n";
myText.text = paramValues;
//load larger text from file
if(params['testFile'] != null){
var textLoader:URLLoader = new URLLoader(new URLRequest(params['testFile']));
textLoader.dataFormat = URLLoaderDataFormat.TEXT;
textLoader.addEventListener(Event.COMPLETE, textReady);
}
}
function textReady(event:Event):void{
myText.appendText(event.target.data);
}