Ming(PHP)のActionScript戻る Flash4.0以前のフラッシュはパラパラ漫画のようなものでした。しかし、 Flash4.0以降ではActionScriptが使えるようになり、ちょっとしたゲームなども 作れるようになりました。そして、フラッシュ5.0ではサーバーとの通信なども出来るように なり、チャットなどのwebアプリケーションも作れる用になり、 MXではclassがサポートされオブジェクト指向的な高度な言語に至るまでになりました。今付作ろうとしているのはWebアプリケーションです。 今回はActionScriptを導入するまでを少したげ解説します。 ActionScript使用方法は以前書いた MovieClip ActionScript を参照して頂くとして、init関数を作る所から解説します。init()は必要かもActionScriptには onEnterFrameというものがあります。 これは毎フレームごとに、呼び出されるActionScriptのイベントです。 Mingの場合、onEnterFrameはSWFSpriteとSWFMovieのsetFrames(int)で指定した フレーム数まで行き着くと、また最初に戻ってしまうため、ActionScript内で 初期化したプロパティは再度初期化されることになります。例えば 、格闘ゲームーを作った時を考えてみましょう。HPを初期化時に設定するとします。 ある一定時間たつとHPが元に満タンに戻ってしまう。そんな可能性があります。 ( もちろん、時間制限のあるゲームの場合ゲーム時間だけFrame数を指定していれば良いです ) そこで、mirage-techでは、init()メソッドの作成を行い。初期化を定式化する方法を お勧めします。 (注意 : もしかすると、setFrames(int)で指定するだけでなく、nextFrameをFrame数分だけ実行する必要が あるかも知れません。) (注意 : 現在のバージョンではinit()のイベントがデフォルトであるかも知れません) initの実装Exe.php Movie.php Object.php Rect.php#Movie.phpのActionScriptの部分 _root.onEnterFrame = function() { if(_root._x != -1 ) { _root.init(_root); _root._x =-1; } }; _root.init = function(mc) { for(m in mc) { if(typeof(mc[m])=='movieclip') { mc[m].init(); _root.init(mc[m]); } } }; #Rect.phpのActionScriptの部分 this.onEnterFrame =function(){this._x +=4;}; this.init = function(){this._y =100;this._x= 10;}; |