今回はProgression3に用意されているコマンドクラスとキャストオブジェクトを紹介します。
これらを上手く用いることで劇的に開発スピードを高めることができます。今回紹介するもの以外にも多数用意されていますので、
コマンドクラス
以下、
Traceコマンド
Traceコマンドは、
コマンド内で以下のように記述します。
addCommand(
new Trace(“出力させたい文字列”)
)
Waitコマンド
Waitコマンドは、
以下に、
addCommand(
new Wait(1000),
new Trace(“1秒待ちました”),
new Wait(1000),
new Trace(“もう一回1秒待ちました”),
)
AddChild、AddChildAtコマンド
AddChildコマンドは、
コマンド内で以下のように記述します。
addCommand(
new AddChild(コンテナ,オブジェクト)
)
AddChildコマンドは、
AddChildAtコマンドはコマンド内で以下のように記述します。
addCommand(
new AddChildAt(コンテナ,オブジェクト,表示インデックス)
);
ActionScript3の通常のaddChildAtメソッドと異なる点は、
例えば、
addChildAt(_container,_object1,2);
addChildAt(_container,_object2,1);
しかし、
addCommand(
new AddChildAt(_container,_object1,2)
new AddChildAt(_container,_object2,1)
);
存在しないインデックス2を指定しても、
ActionScript2では表示の重ね順をコントロールするため、
ProgressionのAddChildAtコマンドはActionScript2寄りの記述が出来るように作られています。
RemoveChild、RemoveAllChildrenコマンド
RemoveChildコマンドは表示リストから対象オブジェクトを削除します。
コマンド内で以下のように記述します。
addCommand(
new RemoveChild(コンテナ,オブジェクト)
)
特筆すべきは、
以下のように記述することで、
addCommand(
new RemoveAllChildren (コンテナ)
)
DoTween、DoTweenerコマンド
DoTween、
特に、
以下に、
DoTweenコマンドの例
addCommand(
new DoTween( _object, { x:100, y :100}, Regular.easeOut, 1000 );
)
DoTweenerコマンドの例
addCommand(
new DoTweener(_object,{ x:100, y :100,transition: " easeOutExpo ",time:1 });
)
Propコマンド
Propコマンドは対象オブジェクトのプロパティを設定するコマンドクラスです。一度に大量のプロパティを設定する場合や、
以下に、
addCommand(
new Prop(_object,{x:100,y:100,alpha:0}),
new DoTweener(_object,{x:200,y:200,alpha:1,time:1})
)
LoadURLコマンド
LoadURLコマンドは、
コマンド内で以下のように記述します。
addCommand(
new LoadURL (new URLRequest( "当該ファイルのURL" ))
)
取得したデータは自身のdataプロパティ、
addCommand(
new LoadURL (new URLRequest( "当該ファイルのURL" )),
function():void{
trace( this.latestData ); //コマンドクラスのlatestDataプロパティを参照
}
)
また、
LoadChild、LoadChildAtコマンド
LoadChildコマンドは、
コマンド内で以下のように記述します。
リスト14
addCommand(
new LoadChild(コンテナ,new URLRequest( "当該ファイルのURL" ))
)
addCommand(
new LoadChildAt(コンテナ,new URLRequest( "当該ファイルのURL" ),表示インデックス)
)
以上、
キャストオブジェクト
次に、
キャストオブジェクトのソースコードを全て載せると非常に冗長となってしまうため、
CastMovieClip、CastSprite
キャストオブジェクトの中でも使用頻度が高くなるのが、
例えば、
var _castSprite = new myCastSprite();
addCommand(
new AddChild(progression.container, _castSprite),
new Trace(“myCastSpriteが追加されました”)
)
そして、
protected override function _onCastAdded():void {
addCommand(
new Trace(“myCastSpriteが追加されます”)
);
}
これを実行すると、
myCastSpriteが追加されます
myCastSpriteが追加されました
呼び出し元のコマンドでキャストオブジェクトを追加→キャストオブジェクトの追加イベント→呼び出し元の次のコマンドという順に実行されるのです。これがキャストオブジェクトの大きなポイントです。
CastBitmap
BitmapDataを表示するためのキャストオブジェクトです。
CastSprite同様に表示リストに追加、
リスト18
new CastBitmap( new BitmapData( 100, 100 ) );
CastImageLoader
画像ファイルのLoaderオブジェクトを表示するためのキャストオブジェクトです。
CastSprite同様に表示リストに追加、
var _castImageLoader = new CastImageLoader ();
_ castImageLoader.load(new URLRequest("画像ファイルのURL”));
CastButton
CastButtonオブジェクトはボタンの機能に特化したキャストオブジェクトです。ロールオーバー、
シーン間の移動をボタンで行う場合は、
var _castButton = new CastButton();
_castButton.sceneId = new SceneId(“/index”);//クリックでindexシーンへ移動する
_castButton.toolTip.text="Indexへ移動します";//ツールチップテキストの表示
以上、
今回紹介したキャストオブジェクト以外にもまだ用意されているキャストオブジェクトはあります。表示オブジェクトに関しましては一通り揃っておりますので、
駆け足となりましたが、
次回からはProgressionを用いて簡単なウェブサイトを作成します。お楽しみに!