2009-06-08 11 views
0

私はFlexライブラリやFlashのものを使用していません。 Flex Builderで純粋なAS3プロジェクトを開発していますが、これはAIRアプリケーションとして展開したいものです。ActionScriptアプリケーションからAIRアプリケーションへ

私のオプションは何ですか?最も簡単なのは何ですか?私はここでストレートな答えを見つけるのが難しいです。

答えて

2

... の場合、これは自動的には発生しません。 ネイティブウィンドウをインスタンス化します。

メインアプリケーションを表現しない新しいウィンドウを作成するのではなく、メインアプリケーションクラスにstage.nativeWindow.activate();と呼んでください。

+0

それは便利な音です。私もそれをチェックします。 – grey

+0

これをもう一度見ました: http://www.danielhai.com/blog/?p=70 そして、私はこれを尋ねたことを思い出しました。再度、感謝します! – grey

1

FlashまたはFlexを使用してAIRアプリケーションを作成できます。どちらが簡単かは、アプリの性質によって異なります。あなたのアプリがかなり完成していて、今後大きく変わることなく、あなたのアプリがAIRアプリに変わることに懸念がある場合は、どちらかを使うことができます。

は私がより簡単にビルドプロセスを自動化する使用することができるように、コマンドラインコンパイラの利用可能性(すなわち、mxmlcのフレックスから)好きです。 Flashでは、アプリケーションをコンパイルするためにIDEが必要になります。また、AIRアプリケーションを作成すると、活用することができるフレームワークコードのために、FlashよりもFlashでの作業がはるかに高速に実行される可能性が高くなります。だからFlexは全体的に良い方法です。

+0

また、私はFlexbuilderで純粋なAS3プロジェクトを話しています。私はいくつかのAIR機能を使用したいと思いますが、Flexライブラリを特に使用する必要はありません。そのため、私は、プロジェクトをFlexプロジェクトに変換せずにFlexライブラリを組み込むことなく、AIRプロジェクトとしてプロジェクトを構築する方法についてはわかりません。 – grey

+0

その場合、Flash CS4でアプリケーションを構築することをお勧めします。そうすれば、Flexフレームワークライブラリにリンクする必要はありません。 – Boon

+0

好奇心の渦中に、Flash IDEなしでプロジェクトを構築したり、AIRのライブラリにアクセスしながらFlexライブラリを統合したりできる代替手段がありますか? – grey

0

FlexBuilderでこれを行うには、通常と同じようにFlex BuilderでFlexプロジェクトAIRアプリケーションを作成し、追加のソースおよびライブラリパスを定義する3番目のステップで、.mxmlファイルを.as、つまりMain.mxmlはMain.asになります。

もう1つの明らかなMac開発用の問題点は、Airアプリケーションを閉じると終了しない厄介なADLファイルです。私はOSX Activity Monitorを使用してAirアプリケーションを終了した後、強制的にadlファイルを終了します。ここで

+0

私はちょうどそれをASファイルにしようとしましたが、私がそれを実行するとADLはウィンドウなしで起動します。他のステップは必要ですか? – grey

1

は、上記で述べた

として不明...もっと完全な答えである:

「FlexBuilderではでこれを行うには、あなたが しまうようにあなたは、単に FlexBuilderではでFlexプロジェクトAIRアプリケーション を作成します通常は、第3ステップで、 を追加ソースとライブラリ のパスを定義する場合は、.mxml ファイルを.asに変更します。つまり、Main.mxmlは Main.asになります。

これは実行されますが、何も表示されません...何らかの理由で、ネイティブウィンドウを自動的にインスタンス化しません。もちろん」

プロジェクトは、私が 窓やものを作成するためのコードを追加しますが、それは 問題ではなかったので、私は思わず ことをommited :)

作成 です後:Laurentie Adobe Bug Systemsから。 「

var options:NativeWindowInitOptions = new NativeWindowInitOptions(); 
//options.systemChrome = "none"; 
//options.transparent = true; 
var mainWindow:NativeWindow = new NativeWindow(options); 
mainWindow.activate(); 

、あなたはそのウィンドウ throught mainWindow.stageにコンテンツを追加:)ことができます を願っています:

のような何かを試してみてください。

その存在のすべてが、これは本当に理想的なソリューションではないと述べました。しかし、そこには実験をしたいあなたのためのものがあります。実行されますが、何も示していない