■
次にFlash Lite 3.0環境で開発するかもしれないので、実際にやってみることにします。
Flashはずっとやりたくて、CS3を買って勉強してたんですが、オーサリング環境でうまく描けなくて嫌気が差し勉強をやめていたところ。
Flash Lite 3.0っていうのは、ActionScript2.0相当みたいです。
てっきり、ActionScript3.0相当だと思っていたので、驚きました。
ただ、オライリーのActionScript実践プログラミングとCS3を買って、今はAS3が最新で、実践プログラミングがAS2なんで、しまったーと思っていたので結果オーライな感じです。
とにかく、開発環境としてのCS3はつらいので、テキストエディタで、ASファイルを作ってテストおよびパブリッシュにCS3を使う感じでいきます。
まあ、正式にDOCOMOのFlashLite3.0のコンテンツ作成にはCS3がいるみたいだし、テスト環境のDevice Central CS3は、実機をたくさんもてない個人事業主としては、ありがたい環境です。
とっかかりとしては、 http://www.javac.jp/flash/flashlab/graph/ を参考にさせていただきました。
あと、オーサリング環境のヘルプは使いにくいので、
http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm
をブックマークするといい感じかもしれません。
まずは、.flaの作成です。
- Flashファイル(モバイル)新規作成
- Adobe Device Central CS3で、プレーヤーバージョンをFlash Lite 3.0を選択
- ActionScriptバージョンをActionScript 2.0を選択
- コンテンツタイプをスタンドアローンプレーヤーを選択
- 選択されたすべてのデバイスのカスタムサイズにチェック
- 作成ボタン押下
- レイヤー「フレーム1」の名前を「Script」に変更
- 適当な名前で保存(test.fla)
次に、スクリプトの作成です。
- 参考URLとAPIリファレンスを元に、
main.as ---- var counter:Hoge = new Hoge(); counter.up(10); counter.print(); counter.up(25); counter.print(); var test_mc:MovieClip = this.createEmptyMovieClip("test_mc",1); test_mc.lineStyle(2); test_mc.moveTo( 10, 10); test_mc.beginFill(0xFF0000); test_mc.lineTo( 10, 20); test_mc.lineTo( 20, 20); test_mc.lineTo( 20, 10); test_mc.lineTo( 10, 10); test_mc.endFill(); test_mc.onEnterFrame = function () { trace("onEnterFrame called"); } test_mc.onKeyDown = function() { trace("key was pressed."); if ( Key.isDown( Key.ENTER ) ) { trace("Enter was pressed."); delete this.onEnterFrame; } } test_mc.tabEnabled = true; test_mc.focusEnabled = true; Selection.setFocus(test_mc); trace("main stopped."); stop();
Hoge.as ---- class Hoge { private var count:Number; function Hoge() { trace("Hoge, Construction."); count = 0; } public function up(n:Number):Void { count += n; } public function get():Number { return count; } public function print():Void { trace("Count: " + count); } }
ってな感じで作って、test.flaを同じ階層に保存
- 「Script」レイヤーの1フレーム目を選択
- ウィンドウ→アクションを選択
- スクリプトアシストを押して、入力できるようにする
- で、#include "main.as" を記述
そして、実行です。
Hoge, Construction. Count: 10 Count: 35 main stopped. onEnterFrame called :略 onEnterFrame called key was pressed. Enter was pressed.
こんな感じの出力が得られます。エラーで落ちるのは、onEnterFrame calledがずっと出力されっぱなしになるからかな?
とまあ、とりあえず、スクリプト記述→テスト出力という流れをやってみました。
まだ、パブリッシュまでやってないので、次はもう少しまともなスクリプトにしてからパブリッシュまでやってみたいと思いますよ。