0

私は今この問題にWEEKSで苦労しており、解決できません。非常にシンプルなフラッシュ AIR アプリ (クリエイティブ クラウド、AIR 3.8) を使用しています。開始ボタンをクリックするだけで、外部の SWF ムービーをロードするだけです。テスト/PC では問題なく動作しますが、デバイスにパブリッシュすると、外部 SWFS がロードされません。

外部 SWFS を呼び出すメイン タイムラインのコードは次のとおりです。

 //start button

 start_button_TRI_coelophysis.addEventListener(MouseEvent.CLICK,     
 fl_ClickToLoadUnloadSWF_01_3,false,0,true);

 import fl.display.ProLoader;
 import flash.events.Event;

 var fl_ProLoader_01:ProLoader;
 var fl_ToLoad_01:Boolean = true;

function fl_ClickToLoadUnloadSWF_01_3(event:MouseEvent):void
{
if(fl_ToLoad_01)
{
    fl_ProLoader_01 = new ProLoader();
    fl_ProLoader_01.load(new URLRequest("dinofilms/triassic_coelophysis.swf"));

 fl_ProLoader_01.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete_01)
    addChild(fl_ProLoader_01);
    fl_ProLoader_01.x = 0;
    fl_ProLoader_01.y = 144;
}
else
{
    if(fl_ProLoader_01!=null) {
        removeChild(fl_ProLoader_01);
        fl_ProLoader_01.unloadAndStop();
        fl_ProLoader_01 = null;
    }
}
fl_ToLoad_01 = !fl_ToLoad_01;

}

function onComplete_01(e:Event):void {
e.currentTarget.content.addEventListener(Event.ENTER_FRAME,OEF_01);
}

function OEF_01(e:Event):void {
if(e.currentTarget.currentFrame==e.currentTarget.totalFrames) {
    e.currentTarget.stop();
    e.currentTarget.removeEventListener(Event.ENTER_FRAME,OEF_01);

    removeChild(fl_ProLoader_01);
    fl_ProLoader_01.unloadAndStop();
    fl_ProLoader_01 = null;
}
}

私は 30 の異なるフレームで約 30 の異なるムービーを呼び出しているので、「proLoader_01」のようなタグを使用しているので、それらを複製しません。もちろん、すべての外部 swfs も含まれているファイルにリストされています。

4

1 に答える 1

2

変更する必要があります

fl_ProLoader_01.load(new URLRequest("dinofilms/triassic_coelophysis.swf"));

fl_ProLoader_01.load(new URLRequest("dinofilms/triassic_coelophysis.swf"), new LoaderContext(false, ApplicationDomain.currentDomain));

iOS では、すべての SWF を現在のアプリケーション ドメイン内にロードする必要がありますApplicationDomain.currentDomain

于 2013-09-16T22:01:31.687 に答える