私は自分の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");
}
}
}
}
}
もう一度ありがとう、みんな!