CreateCircleTest 自作コマンド説明用 northprint forked:4favorite:0lines:58license : All rights reserved modified : 2008-12-27 18:42:40 Embed Tweet // write as3 code here.. //自作コマンド説明用 package { import flash.display.*; import flash.events.Event import jp.progression.commands.*; [SWF(backgroundColor="#000000")] public class CreateCircleTest extends MovieClip{ private var _sprite:Sprite; public function CreateCircleTest(){ var sList:SerialList = new SerialList(); for (var i:int=0; i<100; i++){ var setx:int = Math.random() * stage.stageWidth; var sety:int = Math.random() * stage.stageHeight; var setr:int = Math.random() * 5 + 5; var setcolor:int = Math.random()*0xFFFFFF; sList.addCommand( new CreateCircle(this, setx, sety, setr, setcolor), new Wait(500) ); } sList.execute(); } } } import flash.display.Sprite; import flash.display.DisplayObjectContainer; import jp.progression.commands.*; import jp.progression.core.commands.Command; class CreateCircle extends Command{ private var _sprite:Sprite; private var _x:int; private var _y:int; private var _r:int; private var _color:int; private var _container:DisplayObjectContainer; /*======================================================================*//** * コンストラクタ */ public function CreateCircle(container:DisplayObjectContainer = null, setx:int = 0, sety:int = 0, setr:int = 0, setcolor:int = 0xffffff, initObject:Object = null ) { super( _execute, _interrupt, initObject ); //パラメータセット _container = container; _x = setx; _y = sety; _r = setr; _color = setcolor; } /*======================================================================*//** * 実行されるコマンドの実装です。 */ private function _execute():void { //Spriteのインスタンスを作成 _sprite = new Sprite(); //円を描画 _sprite.graphics.beginFill(_color); _sprite.graphics.drawCircle(_x, _y, _r); _sprite.graphics.endFill(); //指定表示コンテナにSpriteの追加 _container.addChild(_sprite); // 通常処理を終了します。 executeComplete(); } /*======================================================================*//** * 中断実行されるコマンドの実装です。 */ private function _interrupt():void { // 中断処理を終了します。 interruptComplete(); } /*======================================================================*//** * MyCommand インスタンスのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。 */ public override function clone():Command { return new CreateCircle(_container, _x, _y, _r, _color, this ); } //Spriteの参照を取得出来るようにしておく public function get sprite():Sprite { return _sprite; } } Code Fullscreen Preview Fullscreen container DisplayObjectContainer SerialList Command clone addCommand interruptComplete executeComplete execute Wait Object addChild Math.random int sort new page view favorite forked pv0 forked from: CreateCircleTest htgmanics forked:0 favorite:0lines:58 (diff:1) pv0 forked from: CreateCircleTest Nao forked:0 favorite:0lines:58 (diff:1) pv429 forked from: CreateCircleTest fumix forked:1 favorite:0lines:58 (diff:1) pv552 forked from: CreateCircleTest hacker_jv6q0ird forked:1 favorite:0lines:58 (diff:1)