本日の目標はボタンを作って動かす。

ActionScriptでボタンってどうやって作るんだろう?と思って調べたところ
どうやらActionScriptだけで作るのは難しいらしく。

サンプルコードはあったのですが力技で、お金があればFlash CSを買いましょうとのこと。
Adobe Creative Cloudから使えるのは、これのことだったのか。

調べるとやっぱりAdobe Flash CSが出てきて、これでGUIでデザイン開発するのが一般的みたい。
Flash BuilderというツールもあるがこちらはActionScript3.0と同時に出たもので、旧名がFlex Builder。コーディング開発環境を提供する模様。

FlashCSがタイムラインありきの独自の開発手法をとるのに対して、
FlashBuilderはコーディング環境上で組むことができる、という利点があるみたい。
mxmlという言語で開発するのですが、ある程度のことができるみたい。それでもFlashBuilderがないと厳しいのかな?

とりあえずまだよくわかってない部分もあるのでとりあえずmxmlを学んでみよう。

Flash DevelopからFlex 3 Projectを作成し、Main.mxmlの中に次を記述

<mx:Button id="button1" label="Hello world!" width="100" />

ほわ。ビルドしたらボタンでてきた。

これとActionScript連携できるのかなと思うと、やはりできる。

<mx:Script source="hello.as" />

これで読み込めるみたい。で、

<mx:Button id="button1" label="Hello world!" width="100" click="hello();"/>

という感じでclickイベントを書ける。
まんまhtmlとjavascriptなんですね。なるほど。

ちなみにhello.asの中身

import mx.controls.Alert;
public function hello():void {
    Alert.show("aaa");
}

これを読ませてボタンクリックしたところエラーが・・・
[Fault] exception, 情報=ReferenceError: Error #1069: flash.display.Stage にプロパティ softKeyboardRect が見つからず、デフォルト値もありません。

プレビューのFlashがしばらく固まった後スタックトレースが出てきたんだけど、
その後にaaaのアラートが表示されてた。
動いてはいるのか。なんだこれは!

また調べよう。。

今日はここまで。