我正在使用BulkLoader将图像,SWF,XML等加载到游戏中。
在本地工作时,content
上的LoadingItem
属性总是很好,具体取决于资产类型:Bitmap
如果是图像,MovieClip
如果是SWF等
当我测试相同的swf,但在localhost或在线时,content
属性始终是Loader
对象。
这是正常的吗?我错过了一个参数或其他东西吗?
答案 0 :(得分:0)
好的,对于那些有同样问题的人 - ImageLoader,第57行:
override public function onCompleteHandler(evt : Event) : void {
try{
// of no crossdomain has allowed this operation, this might
// raise a security error
_content = loader.content;
super.onCompleteHandler(evt);
}catch(e : SecurityError){
// we can still use the Loader object (no dice for accessing it as data
// though. Oh boy:
_content = loader;
super.onCompleteHandler(evt);
// I am really unsure whether I should throw this event
// it would be nice, but simply delegating the error handling to user's code
// seems cleaner (and it also mimics the Standar API behaviour on this respect)
//onSecurityErrorHandler(e);
}
};
基本上发生的事情是SecurityError
正在发生(虽然是无声的),这会将content
属性设置为Loader
而不是Loader.content
。
通过在加载前添加Security.loadPolicyFile()
来修复它。