ActionScript日記 - asとmxmlの連携
随分間が空いちゃったなー。
今日は mxml について勉強したのでシンプルなソースコードをあげておきます。
mxml って、flex サーバがないと意味がないものかと勘違いをしちゃってたんですが、そんなことないんですね。インターフェースとレイアウトが簡単に書けてめちゃめちゃ便利かつ面白い。
下の画像みたいなアプリケーションも数十行のソースで書けちゃいますよ。
今日は mxml について勉強したのでシンプルなソースコードをあげておきます。
mxml って、flex サーバがないと意味がないものかと勘違いをしちゃってたんですが、そんなことないんですね。インターフェースとレイアウトが簡単に書けてめちゃめちゃ便利かつ面白い。
下の画像みたいなアプリケーションも数十行のソースで書けちゃいますよ。
まず mxml で GUI を配置。
こんな感じで、HTML気分でタグを配置していきます。
の部分で import したい as があるパスを記述して、
<astest:AsTest id="test0" />
で配置します。new してくれるってことですよね。id="test0" の部分がインスタンス名。
ここで注目すべきは <astest:AsTest col="{cp.selectedColor}" /> の部分です。
これでカラーピッカー cp と test0 のメンバ col がバインドされます。 つまり、カラーピッカー cp の色が変わったら自動的に test0.col のセッター関数を呼んでくれるということ。
次に情報の受け手である as ファイル。
こちらの記事にあるとおり、これを指定した変数には自動的に set と get 変数が作られて、外からアクセス可能になるということ。
更に
addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler);
によって変数が変更されたときに呼ばれる関数というのを規定できるので、ここに draw() を書いておけば set された時に自動的に再描画を実現できます。すげー。アスペクト指向ってやつですかね。違うかな。
便利な GUI を簡単に使えるので、いろいろ面白いことが出来そうです。
ちなみに package の名前ですが、ここに書いてあるくらいの内容しか分からなかったので適当につけました。ハイフン使えないのでアンダースコアで代用。どこかにちゃんとした命名ルールが書いてないもんですかねぇ。特にないのかな。
こんな感じで、HTML気分でタグを配置していきます。
mlmlTest.mxmlxmlns:astest="com.txt_nifty.sketch.astest.*"
の部分で import したい as があるパスを記述して、
<astest:AsTest id="test0" />
で配置します。new してくれるってことですよね。id="test0" の部分がインスタンス名。
ここで注目すべきは <astest:AsTest col="{cp.selectedColor}" /> の部分です。
これでカラーピッカー cp と test0 のメンバ col がバインドされます。 つまり、カラーピッカー cp の色が変わったら自動的に test0.col のセッター関数を呼んでくれるということ。
次に情報の受け手である as ファイル。
AsTest.asここでの要チェックは項目 [Bindable] 。
こちらの記事にあるとおり、これを指定した変数には自動的に set と get 変数が作られて、外からアクセス可能になるということ。
更に
addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler);
によって変数が変更されたときに呼ばれる関数というのを規定できるので、ここに draw() を書いておけば set された時に自動的に再描画を実現できます。すげー。アスペクト指向ってやつですかね。違うかな。
便利な GUI を簡単に使えるので、いろいろ面白いことが出来そうです。
ちなみに package の名前ですが、ここに書いてあるくらいの内容しか分からなかったので適当につけました。ハイフン使えないのでアンダースコアで代用。どこかにちゃんとした命名ルールが書いてないもんですかねぇ。特にないのかな。
« 『かもめ食堂』 | トップページ | 『たそがれ清兵衛』(藤沢周平) »
「ActionScript 3.0」カテゴリの記事
- FlMML - リングモジュレーターとSync(2009.07.26)
- FlMML - ファミコンDPCM(2009.05.16)
- キー入力のレベル、トリガ、リピートを取得(2009.05.06)
- FlMML - エクスプレッション(2009.05.03)
- FlMML - 引数つきマクロ(2009.04.12)
この記事へのコメントは終了しました。
コメント