用語の整理。
最終成果物は拡張子swfのファイル。
swfはFlash Player上で動かせる。
ActionScript:用いるプログラミング言語
MXML:XMLで書く、UIコントロールのレイアウト情報
Flex:開発環境と実行環境全体のことか?実体はActionScriptのクラスライブラリ+SDK(コンパイラとか)+Flash Playerも含む?
ここからflex_sdk_3.zip(121M)をダウンロードして解凍。
ここを参考に以下のファイル MyFirst.mxmlを作る。
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="center"> <mx:Button id="myButton" label="I'm a button!" /> </mx:Application> |
これをflexsdkのbinフォルダにあるmxmlcコンパイラでコンパイルすればいいらしいのでやってみる。
1 2 3 |
C:\T\Flex>c:\Flex\bin\mxmlc MyFirst.mxml 設定ファイル "C:\Flex\frameworks\flex-config.xml" をロードしています C:\T\Flex\MyFirst.swf (173498 bytes) |
MyFirst.swfができた。このファイルをIEへD&Dしてみる。
動いた。結構簡単にできた。
次にこのswfファイルをこのサーバのルートにアップロードして、以下の記述を加えてみた。
1 2 3 4 5 6 |
<OBJECT classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=300 height=80> <PARAM NAME="Movie" VALUE="/MyFirst.swf"> <PARAM NAME="Src" VALUE="/MyFirst.swf"> </OBJECT> <hr> <embed type="application/x-shockwave-flash" src="/MyFirst.swf"> |
1 2 3 4 5 6 7 8 9 |
public class MyFirst extends mx.core.Application { [Bindable] /** * @private **/ public var myButton : mx.controls.Button; |
MyFirstがアプリケーションクラスになって、myButtonがその中の変数になるようだ。
コードの話に戻って、ここではボタンがクリックされたら”Hello World”をメッセージボックスみたいなので出すコードを考えてみる。以下のようにできた(途中省略)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="center"> <mx:Script> <![CDATA[ private function myHandler ( event:flash.events.MouseEvent ):void { mx.controls.Alert.show("Hello World"); } ]]> </mx:Script> <mx:Button id="myButton" label="I'm a button!" click="myHandler(event);" /> </mx:Application> |
swfのファイル名をMyFirst2.swfにしてアップロードして実験してみる。