2010-12-20 76 views
0

您好我有一個使用Flash CS3 IDE和ActionScript 3構建的項目。現在我需要將某些功能與文件引用類集成。這隻適用於flex。所以我想遷移到flex(MXML)..Flash IDE項目ActionScript 3 To Flex:如何轉換?

這怎麼可能?

我做了一些代碼,但不能正常工作

ProjectFile.mxml 
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete = "initApp()" > 
    <mx:Script> 

    <![CDATA[ 

     import mx.core.UIComponent; 


     public function initApp():void { 

      var app:Applications = new Applications(this); 
      addChild(app); 


     } 
    ]]> 
    </mx:Script> 

</mx:Application> 

Applications.as 的應用類是從較早的FLA叫,現在我需要添加我的基類到mxml。

package { 

    import com.AnotherClass; 

    import flash.display.*; 
    import flash.events.*; 

    public class Main extends Sprite { 

     public var _mystage:Stage; 
     public function Main() { 
      var app:AnotherClass= new AnotherClass(this); 
      addChild(app); 
     } 

    } 
} 

但是Iam無法加載MXML上的Applicatios類對象。

+3

FileReference類?這在閃存IDE中可用。 – Zevan 2010-12-20 16:16:18

+0

但我們無法從IDE保存外部文件,我想將一些文件保存到swf所在的本地計算機路徑。 – coderex 2010-12-20 16:17:31

+1

@coderex通過Flash Pro IDE保存本地文件與FileREference類無關,它允許您在運行時通過Flash Player要求用戶保存文件。你應該相應地修改你的問題。從你的小代碼片段中很難分辨出爲什麼這種方式不起作用。 – JeffryHouser 2010-12-20 16:23:08

回答

1

當然,您可以使用FileReference.save而不必部署AIR內容和/或移植到Flex。唯一的問題是:FileReference.save在Flash Player 10或更高版本中可用,但CS3將只部署到Flash Player 9.

事實證明,您仍然可以這樣做,但它有點麻煩,而且您必須使用有點破解:

  1. 獲取FlashPlayer 10 AS3 庫。它們是Flex SDK的一部分,您可以從Adobe免費下載。
  2. 創建一個Flash 9 AS3文檔。
  3. 將庫添加到您的類路徑中,而不是默認的庫。
  4. 在您的 計劃中使用FileReference.save
  5. 部署到FP 9.忽略編譯器警告(如果有)。
  6. 在十六進制編輯器中打開SWF。
  7. 將第4個字節從09更改爲0A(他表示版本號)。
  8. 保存SWF。
  9. 在Flash Player 10中打開您的SWF - 一切都應該起作用。

(這些提示大部分來自ZEROSEVEN's german page)。