Gan*_*nga 4 apache-flex air flash
我们要求AIR应用程序加载flex生成的swf,它使用SWFLoader加载flash生成的swf.这不符合要求.这会给出以下错误:SecurityError:错误#3226:当LoaderContext.allowCodeImport为false时,无法导入SWF文件.
这是我们的AIR应用程序.
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.controls.SWFLoader;
[Embed(source="FlexLoadingFlash.swf")]
public var flexMovie:Class;
private function initApp():void {
// First convert the Swf into MovieClip
var movieclip:MovieClip = new flexMovie();
// get the byteArray from movieClip
var byteArray:ByteArray = movieclip.movieClipData;
var swfLoader:SWFLoader = new SWFLoader();
// load bytearray into swfLoader
swfLoader.source = byteArray;
swfLoader.maintainAspectRatio = false;
swfLoader.percentHeight = vbox.height;
swfLoader.percentWidth = vbox.width;
swfLoader.invalidateDisplayList();
swfLoader.invalidateSize();
// now add the swfloader into container
vbox.addChild(swfLoader);
}
]]>
</mx:Script>
<mx:VBox id="vbox" width="100%" height="100%" verticalCenter="0" horizontalCenter="0" cacheAsBitmap="true" >
</mx:VBox>
</mx:WindowedApplication>
Run Code Online (Sandbox Code Playgroud)
请告诉我们如何解决此问题.
使用Loader.loadBytes()加载SWF.创建LoaderContext的实例.loadBytes方法将LoaderContext实例作为参数.将LoaderContext实例的allowCodeImport属性设置为true,它应该可以工作
| 归档时间: |
|
| 查看次数: |
7995 次 |
| 最近记录: |