将.fla和as3文件迁移到新的Flex项目

时间:2012-10-23 16:36:13

标签: actionscript-3 flash-builder flash-cs5 flex4.5

我的任务是将我的Flash应用程序与另一个Flex应用程序集成。我必须将我的Flash Pro应用程序迁移到Flash Builder才能开始工作。我在互联网上搜索过,但我已尝试过所有内容,但我无法通过Flash Builder编译和运行我的Flash Pro应用程序。

我的Flash Pro应用程序包含一个.fla文件,只有一个框架和几个按钮以及一个画布。应用程序的功能由(很多)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构建器,这导致了一个很大的痛苦...这些按钮有图标而不是标签,它们有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 个答案:

答案 0 :(得分:0)

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