0

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

我的 Flash Pro 应用程序包含一个 .fla 文件,其中只有一个框架和几个按钮以及一个要绘制的画布。该应用程序的功能由(很多)as3 文件组成。.fla 文件调用 Main.as 文件,该文件实例化了应用程序工作所需的所有类。

好吧,我尝试发布我的 .fla 的 .swc 文件并将其添加到新的 flex 项目中,但我无法让这个应用程序正常运行。Main 类没有执行,即使我将所有必要的 .as 文件导入到我的 flex 项目中。

关于如何成功进行此迁移的任何想法?

非常感谢你们!

编辑:

我以这种方式将 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");
                }

            }

        }

    }

}

非常感谢,伙计们!!

4

1 回答 1

0

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

于 2012-10-24T03:39:36.843 回答