2月 10, 2010
Progression 4 の Command + オレオレコマンド
Progression 4 の Commandだけ引っこ抜いて、
さらにオレオレコマンドを作ってみる。
参考:
http://www.northprint.net/2009/10/progression-4.html
メインクラス:Main.as ここからコマンドを呼び出す
package { /** * ... * @author reno */ import flash.display.MovieClip; import jp.progression.commands.*; import jp.progression.commands.lists.*; import flash.display.Sprite; import flash.display.Stage; import flash.events.Event; public class Main extends MovieClip { public function Main() { var com:Command = new SerialList( null,//第一引数、null new Wait(3),//3秒待つ new Trace("4444444"),//トレス new OreOreCommand(this,2),//キタ!!オレオレコマンド! 2,//2秒待つ "Owari"//トレス ); com.execute(); } } }
オレオレコマンドの中身
引数(場所,秒数)
内容:指定の場所に、50×50のグレーのSpriteを作って、
x座標0から150まで?秒(第2引数)をかけて移動して終わり。
new OreOreCommand(this,2)
オレオレコマンド ソース
package { import flash.display.MovieClip; import flash.display.Sprite; import jp.progression.commands.*; import jp.progression.commands.Command; import flash.display.DisplayObjectContainer; import caurina.transitions.Tweener; import jp.nium.core.debug.Logger; import jp.nium.utils.ObjectUtil; import jp.progression.core.L10N.L10NCommandMsg; public class OreOreCommand extends Command { /** * <p>処理を停止させたい時間を秒単位で取得します。</p> * <p></p> */ public function get time():Number { return _time; } private var _time:Number = 1.0; private var _target:Object; public function OreOreCommand( target:Object , time:Number = 1.0 , initObject:Object = null ) { // 引数を設定する _time = time; _target = target; // 親クラスを初期化する super( _executeFunction, _interruptFunction, initObject ); } /** * 実行されるコマンドの実装です。 */ private function _executeFunction():void { var _sp:Sprite = new Sprite(); _sp.graphics.beginFill( 0x999999 , 1 ); _sp.graphics.drawRect(0,0,50,50); _sp.graphics.endFill(); _sp.y = 50; _target.addChild(_sp); Tweener.addTween( _sp , { x:150 , time:_time , delay:0.0 , transition:"easeOutCubic" , onComplete:function(){ executeComplete(); } }); // 処理を終了する //super.executeComplete(); } private function _interruptFunction():void { } public override function clone():Command { return new OreOreCommand( _target , _time , this ); } } }