2012-05-07 32 views
1

我想將Flex SWF加載到我的Flash SWF中,但它不起作用。我得到這個錯誤:將Flex SWF加載到Flash中的問題

Error: Error #2136: The SWF file file:///C|/Program%20Files/Adobe/Adobe%20Fireworks%20CS6/Configuration/Command%20Panels/Texture Panel.swf contains invalid data. 

    at _Main_mx_managers_SystemManager/create() 
    at mx.managers.systemClasses::ChildManager/initializeTopLevelWindow() 
    at mx.managers::SystemManager/initializeTopLevelWindow() 
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff() 
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler() 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.preloaders::Preloader/timerHandler() 
    at flash.utils::Timer/_timerDispatch() 
    at flash.utils::Timer/tick() 

這是我的Flash SWF代碼:

package 
{ 
    import flash.display.Sprite; 
    import flash.events.Event; 
    import flash.text.*; 
    import adobe.utils.*; 
    import flash.external.ExternalInterface; 
    import flash.display.Loader; 
    import flash.net.URLRequest; 

    public class Main extends Sprite 
    { 

     public function Main():void 
     { 
      if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); 
     } 

     private function init(e:Event = null):void 
     { 
      removeEventListener(Event.ADDED_TO_STAGE, init); 

      var myLoader:Loader = new Loader(); addChild(myLoader); 

      function systemManagerHandler(event:Event):Boolean { event.preventDefault(); return false; } 

      myLoader.addEventListener("mx.managers.SystemManager.isBootstrapRoot", systemManagerHandler); 
      myLoader.addEventListener("mx.managers.SystemManager.isStageRoot", systemManagerHandler); 

      myLoader.load(new URLRequest("Texture Panel.swf")); 
     } 

    } 

} 

我很想任何幫助。提前致謝!

+1

這只是堆棧跟蹤的一部分。你好像切斷了實際的錯誤信息。 – RIAstar

+1

IIRC不是Flex的SWF有外部依賴(SWC文件)? – spender

+1

@spender如果使用RSL編譯它,Flex SWF只具有外部依賴關係。這是Flex框架的默認設置 - 我相信從Flex 4框架開始。我不清楚這是否是這個問題。我不知道在SWF中加載Flex SWF是否會從Adobe加載已簽名的框架文件。 – JeffryHouser

回答

1

Tip從安迪·穆爾:

1)閃光:文件>新建>的Flash AS3.0文件

2)整個「圖書館」從舊FLA

3複製)粘貼整個「圖書館」,以新的FLA

4)刪除舊文件,它很神奇解毒

+0

谷歌幫助有時之前stackoverflow呢.. – csomakk