4

how do I compile Flash .FLAs using command line?

I am using Eclipse + FDT for Flash development and I would like to use ANT to automatize the compilation.

I am using AS3 and need to compile for Flash Player 10.1.

Many thanks

Update: I need to compile .FLAs because that's what I get from our designers.

4

3 に答える 3

5

他の回答では明らかでないことを要約すると、FLA ファイルは厳密には「ソース」ではなく、Flash オーサリング ツールのプロジェクト ファイルに似ており、それらをコンパイルする方法を知っているのはそのツールだけです。Flash Professional があり、それが開いている場合、他のツール (またはコマンド ライン) がコンパイルするように指示することは可能ですが、何らかの方法でワークフローを変更しない限り、これが最善の方法です。または、スクリプトや SWC などをデザイナーに提供して、デザイナーがインポートしてコンパイルできるようにします。

そうは言っても、最新バージョンでは、Adobe は FLA ファイルを以前のもの (オーサリング ツールの悲惨なバイナリ メモリ ダンプ) から、XML や画像などでいっぱいの、よりアクセスしやすい zip フォルダーに変更しました。将来的には、サードパーティのツールが FLA で何か役立つことを実行できるようになるはずです。しかし、現時点では、この XML の形式は明らかに安定しておらず、他のツールで FLA の処理が開始されたという話も聞いていません。

于 2011-01-06T14:33:38.270 に答える
2

flex sdk フォルダーには ant/lib/flexTasks.jar があり、これを ant で使用して簡単にフレックス アプリケーションを構築できます。

<?xml version="1.0" encoding="utf-8"?>
<!-- build.xml -->
<project name="My App Builder" basedir=".">
  <property name="FLEX_HOME" value="C:/flex/sdk"/>
  <taskdef resource="flexTasks.tasks"
      classpath="${FLEX_HOME}/ant/lib/flexTasks.jar"/>
  <property name="APP_ROOT" value="myApp"/>
  <target name="main">
      <mxmlc file="${APP_ROOT}/Main.mxml" keep-generated-actionscript="true">
          <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
          <source-path path-element="${FLEX_HOME}/frameworks"/>
      </mxmlc>
  </target>
</project>

編集

FLA 形式は一種のモノリシックで、マージが困難です。もちろん、デザイナーに FLA を SWF ファイルとしてオーサリング ツールまたはコマンド ラインからエクスポートするように指示することもできます。

ただし、AS3 スクリプトを追加して複数の FLA ファイルをマージする場合は、パイプラインを再考する必要があります。おそらく、デザイナーはMXML ファイルを提供する必要があります。MXML は、ユーザー インターフェイス コンポーネントのレイアウトに使用する XML マークアップ言語です。次に、イメージ、MXML、および AS ファイルを使用して、コマンド ラインから SWF をビルドします。

于 2010-11-03T01:08:18.743 に答える
1

FDT を使用している場合は、何もする必要はありません。Flex SDK (コンパイラ) の場所がわかっている限り、必要なコマンド ライン パラメータとともに使用されます。起動プロファイルを作成して使用するだけです。

コンパイルの前に実行する必要がある高度なタスクがある場合にのみ、ANT が必要です。その場合でも、ANT 内でコンパイルする代わりに、起動プロファイルが実行される前にコマンドを実行するように ANT タスクを設定できます。

さて、本当にANT タスクからコンパイルする必要がある場合は、次のようなものを使用します...

<target name="web_compileDebug">
    <exec executable="${flexdir}/bin/mxmlc.exe" failonerror="true">
        <arg line="'./source/org/package/DocumentClass.as'"/>
        <arg line="-source-path './source'"/>
        <arg line="-default-frame-rate=60"/>
        <arg line="-default-background-color=0xFFFFFF"/>
        <arg line="-default-size 640 480"/>
        <arg line="-strict=true"/>
        <arg line="-warnings=true"/>
        <arg line="-debug=true"/>
        <arg line="-output './deploy/index.swf'"/>
        <arg line="-target-player=10.0.0"/>
        <arg line="-use-network=false"/>
    </exec>
</target>

もちろん、これを Flex SDK の場所または変数に置き換えます。

.FLA ファイルをコンパイルするつもりなら、もちろん通常のコマンド ラインでは実行できません。Flash を起動してファイルをコンパイルする JSFL スクリプトを使用する必要があります。

于 2010-11-01T14:27:02.530 に答える