我正在开发Flash CS6中的IOS应用程序。我正在尝试加载外部swf。预加载器加载外部swf。装载本身似乎有效。加载外部swf后,我将其动画片段添加到舞台上。但奇怪的是,在iOS设备上,动画片段不会添加到舞台上。
以下是预加载器的代码:
package {
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.Bitmap;
import flash.utils.getDefinitionByName;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;
import flash.system.LoaderContext;
import flash.system.ApplicationDomain;
public class Test extends MovieClip {
private var lobbyBgAssetsLoader:Loader = new Loader() ;
private var ldrContext:LoaderContext;
public function Test() {
var urlStr:String = "cards.swf";
lobbyBgAssetsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, LobbyBgAssetsswfLoaded);
lobbyBgAssetsLoader.load(new URLRequest(urlStr));
ldrContext = new LoaderContext(false,ApplicationDomain.currentDomain,null);
}
private function LobbyBgAssetsswfLoaded(e:Event):void
{
txt.text = "loaded complete test ";
var logoSmall:Bitmap = new Bitmap();
var classDefinition:Class = lobbyBgAssetsLoader.contentLoaderInfo.applicationDomain.getDefinition("cardBg") as Class;
txt.text = "after load ";
var img:MovieClip = new classDefinition() as MovieClip;
this.addChild(img);
}
}
}
答案 0 :(得分:1)
当您为iOS编译应用程序时,所有actionscript都会转换为本机Obj-C代码。因此,即使您的应用程序能够从Internet加载SWF文件,内部的actionscript也不会转换为Obj-C。
Apple不允许在iOS应用中使用实际的Flash播放器,因此应用无法播放SWF内容。