- SimpleTitleWindow.mxml (中に<mx:Script source="SimpleTitleWindow.as"/>を記述)
- SimpleTitleWindow.as
WindowTest.as内にてSimpleTitleWindowを表示するために以下のコードを書くと。。。
var login:SimpleTitleWindow=SimpleTitleWindow(
PopUpManager.createPopUp( this, SimpleTitleWindow , true));
SimpleTitleWindowのクラスが分からない!とコンパイルエラーになります。
上記記述では、SimpleTitleWindow.mxmlのものを表示したいのですが、同名のasクラスとの区別がつかないからエラーになると思われ。
つまり、ライブラリ的に呼び出したいMXML,ASのファイル名とディレクトリ名は一緒にしちゃーいけないっ。
パッケージはフォルダにいれるだけでOK
MXML、ASファイルはフォルダにいれるだけで、パッケージ名となるようです。
例えば、左図のようなパッケージ構成にした場合。WindowTest.as内では、
import view.SimpleTitleWindow とすればSimpleTitleWindowが扱えます。
SimpleTitleWindow.mxml内では、
<mx:Script source="as3/SimpleTitleWindow.as" />
とscriptの外部ファイルへの参照がかけます。
こちらはファイルへの参照なので、/(スラッシュ区切り)。
相対パスっぽぃですね。どうやら。
コンパイルでは参照されているファイルも参照してくれる
当然っつーたら当然なんですが、参照しているクラスファイル類は探し出して一緒にコンパイル(mxmc)してくれます。
上記の例だとWindowTest.mxml→WindowTest.as→SimpleTitleWindow.mxml→SimpleTitleWindow.as となんらかの参照がありますので、
コンパイル時には
mxmlc +configname=air WindowTest.mxml
でOk!