2012-10-23 30 views
0

我的任务是将我的Flash应用程序与另一个Flex应用程序集成。我必须将我的Flash Pro应用程序迁移到Flash Builder才能开始工作。我在互联网上搜索过,我试过了一切,但是我无法让我的Flash Pro应用程序被Flash Builder编译和运行。将.fla和as3文件迁移到新的Flex项目

我的Flash Pro中的应用程序包括只有一个框架FLA文件和几个按钮和一个帆布画的。该应用程序的funcionality由(很多)as3文件。 .fla文件调用Main.as文件,该文件实例化应用程序工作所需的所有类。

嗯,我想发表我的.fla的文件名为.swc并将其添加到新的Flex项目,但我不能让这个程序正常运行。即使我将所有必需的.as文件导入到我的flex项目中,Main类也不会执行。

如何成功地完成迁移工作任何想法?

非常感谢你们!

编辑:

我把Main.as中的.mxml文件中这样说:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> 
    <mx:Script> 
     <![CDATA[ 
      //imports and variables declaration 
      function init():void 
      { 
       //my main code here 
      } 
      //other methods of the main class 
     ]]> 
    </mx:Script> 
</mx:Application> 

而且把.as文件的剩余部分,因为他们是在Flash Pro中的项目。它运行正常,但我必须添加一个.swc(为.fla文件的任何符号生成的任何.swc),以识别一些fl类,如CheckBox,ColorPicker等等。此外,似乎我必须重新创建用户界面,幸运的是它并不难,但我真的很想知道是否有方法将.fla UI转换为Flash Builder中的UI。

我现在想从Flash Pro中的一些自定义按钮迁移到Flash Builder,它的产生是在一个很大的痛苦......这些按钮图标,而不是标签,他们有3个状态。这些状态由另一个.as文件控制。我怎样才能将这种按钮迁移到Flash Builder?这是来自我的班CustomButton.as的.as代码:

package { 

    import flash.display.MovieClip; 
    import flash.events.MouseEvent; 

    public class CustomButton extends MovieClip { 

     public var button_states_mc:MovieClip; 

     private var _selected:Boolean = false; 

     public function CustomButton() { 

      button_states_mc.stop(); 

      this.addEventListener(MouseEvent.ROLL_OVER, mouseHandler); 
      this.addEventListener(MouseEvent.ROLL_OUT, mouseHandler); 

     } 


     public function set selected(v:Boolean):void { 

      _selected = v; 

      if(_selected) { 
       button_states_mc.gotoAndStop("selected"); 
      } else { 
       button_states_mc.gotoAndStop("up"); 
      } 

     } 


     public function get selected():Boolean { 
      return _selected; 
     } 


     private function mouseHandler(e:MouseEvent):void { 

      if(!_selected && !e.buttonDown) { 

       if(e.type == MouseEvent.ROLL_OVER) { 
        button_states_mc.gotoAndStop("over"); 
       } else if(e.type == MouseEvent.ROLL_OUT) { 
        button_states_mc.gotoAndStop("up"); 
       } 

      } 

     } 

    } 

} 

非常感谢再次,家伙!

+1

尝试设置你的Main.as文件作为FlashBuilder(基本上使它文档类在Flash Builder就像Flash Pro中)的默认/初始类文件,如果所有的图形资源都在SWC正确链接,并通过实例代码(而不是放在时间轴上),那么它应该工作。 – BadFeelingAboutThis

+0

谢谢@LondonDrugs_MediaServices。我试过这个,但经过一段时间试图让它运行(失败)后,我想出了另一种方式,即使我的目标还没有100%完成。我把我作为我上面的问题的一个版本做了。 – daao87

回答

0

您可以创建一个 “Flash Professional项目” 在Flash Builder中。

+0

谢谢,但我需要创建一个Flex项目,因为我需要将我的Flash Pro项目与另一个Flex项目(在两个应用程序之间共享类和变量)集成在一起。 – daao87

+0

您可以通过“源代码路径”选项卡将Flash IDE项目中的代码添加到Flex项目中:项目 - >属性 - > ActionScript构建路径 - >第四路径 –