2010-12-20 63 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)。