ActionScriptのpackageディレクティブについて学んでいきます。
パッケージについて
前回のサンプルでは以下のような無名のパッケージを使いました。
package{ ・・・ }
Javaで言うデフォルトパッケージといったところでしょうか。
ActionScriptのパッケージもJavaと同じく、物理フォルダ構成とリンクさせる必要があります。
つまりtestパッケージに入れたクラスはtestディレクトリに入れてやらないといけないということです。
ためしに前回のStartクラスをtestパッケージに入れてみます。
package test{ import flash.display.*; import flash.text.*; public class Start extends Sprite{ public function Start() { var textBox:TextField = new TextField; textBox.text="Hello World"; this.addChild(textBox); } } }
ディレクトリをそのままでコンパイルしてみるとエラーが出てしまいます。
C:\workspace\j2flex>mxmlc Start.as
設定ファイル "C:\Program Files\Adobe\flex_sdk_3\frameworks\flex-config.xml" をロ
ードしています
C:\workspace\j2flex\Start.as: エラー: source-path で見つかったファイルのパッケー
ジ構造 '' は、定義のパッケージ 'test' と同じである必要があります。
C:\workspace\j2flex>pause
では、testディレクトリを作ってその中にStart.asファイルを入れましょう。
j2flex
└test
└Start.as
ディレクトリとパッケージを合せてやるだけでなく
さらにJavaでいう「クラスパス」を、mxmlcコマンドに引数として指定してやる必要があります。
以下のように、「source-path」という引数に、パッケージの開始地点を表すパスを指定します。
mxmlc -source-path=C:\workspace\j2flex test/Start.as
上記では、分かりやすいように絶対パスで書きましたが、もちろん下のように相対パスでもOKです
(「.」はディレクトリパスの相対表記でカレントディレクトリを表します)
mxmlc -source-path=. test/Start.as
これで、パッケージに配置したファイルをコンパイルできます。