Propコマンドでプロパティの一括設定

| コメント(0) | トラックバック(0)

今回は便利系コマンドシリーズですね。
複数プロパティをいっぺんに指定出来るPropコマンドです。

リファレンスを見れば一発で使い方が分かってしまいますが、あえてエントリ。

私の最初のサンプルの方のソースコードをPropで書き換えてみます。

// ParallelList を作成
var _pList:ParallelList =  new ParallelList();
//ボタンの作成
for ( var i:int = 0; i < numScenes; i++ ) {
	var _xmlData:XMLList = new XMLList( scenes[i].sceneInfo.data );
	var _obj:Object = XMLUtil.xmlToObject( _xmlData );	
	var imageButton:ThumbnailSprite = new ThumbnailSprite();
	imageButton.SetImageUrl = _obj.imageurl;
	imageButton.sceneId = scenes[i].sceneId;
	imageButton.loadImage();
	imageButton.x = ( 110 * i ) + 10;
	imageButton.y = 500;
	_pList.addCommand(
		new AddChild( progression.container, imageButton )
	);
}
最初は以上の様にimageButtonに沢山プロパティを設定していました。

これを以下の様に書き換えます。

var _pList:ParallelList = new ParallelList();
//ボタンの作成
for ( var i:int = 0; i < numScenes; i++ ) {
	var _xmlData:XMLList = new XMLList( scenes[i].sceneInfo.data );
	var _obj:Object = XMLUtil.xmlToObject( _xmlData );				
	var imageButton:ThumbnailSprite = new ThumbnailSprite();		
	var _comProp:Prop = new Prop(imageButton, {
							SetImageUrl:_obj.imageurl,
							x:( 110 * i ) + 10,
							y:500
							});
	_comProp.execute();
	imageButton.sceneId = scenes[i].sceneId;
	imageButton.loadImage();					
	_pList.addCommand(
		new AddChild( progression.container, imageButton )
	);
}

こんな感じになりました。大分すっきりです。
addCommand内で普通に使う場合はnew Prop(~で一発ですみますね。

ここで、ミソなのがボタンのsceneId。
これをPropで設定すると動きませんでした。なので外に出してあります。
何故かはまだ調査していないです。。

initObjectで大量に値を参照したい場合にも使えそうですね。

しかし、このシンタックスハイライター。。アンダーバーが2個目から消えるなあ。。

トラックバック(0)

トラックバックURL: http://www.northprint.net/mt5/mt-tb.cgi/114

コメントする

このブログ記事について

このページは、northprintが2008年10月24日 18:53に書いたブログ記事です。

ひとつ前のブログ記事は「全然進歩してないけれどサンプルソース出します」です。

次のブログ記事は「Progression3でバナーサイズFlash」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。