外部加载的SWF文件中包含的ActionScript将在iOS设备上被忽略

时间:2014-10-22 08:29:14

标签: ios actionscript-3 flash-cs6

我正在开发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);
        }
    }

}

1 个答案:

答案 0 :(得分:1)

当您为iOS编译应用程序时,所有actionscript都会转换为本机Obj-C代码。因此,即使您的应用程序能够从Internet加载SWF文件,内部的actionscript也不会转换为Obj-C。

Apple不允许在iOS应用中使用实际的Flash播放器,因此应用无法播放SWF内容。