0

私は自分のFlashアプリを別のFlexアプリと統合するという任務を負っていました。動作を開始するには、FlashProアプリをFlashBuilderに移行する必要があります。インターネットで検索してすべてを試しましたが、FlashProアプリをコンパイルしてFlashBuilderで実行することができません。

私のFlashProアプリは、1つのフレームと2つのボタン、および描画するキャンバスを含む.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ファイルをflashproプロジェクトの場合と同じように配置します。正常に動作しますが、CheckBox、ColorPickerなどのいくつかのflクラスを認識するために、.swc(.flaファイルの任意のシンボルに対して生成された.swc)を追加する必要がありました。その上、私は間違いなくユーザーインターフェイスを再作成する必要があるようです。幸運なことにそれほど難しくはありませんが、.flaUIをFlashBuilderでUIに変換する方法があるかどうかを本当に知りたいと思います。

現在、いくつかのカスタムボタンをflashproからflashbuilderに移行しようとしていますが、その結果、大きな問題が発生しています...これらのボタンには、ラベルではなくアイコンがあり、3つの状態があります。状態は、別の.asファイルによって制御されます。この種のボタンをFlashBuilderに移行するにはどうすればよいですか?これは、私のクラス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 に答える