めんどくさいので・・・
複数オブジェクトのプロパティ設定がめんどくさいので・・・。
これなら1行で同じプロパティを持つ複数インスタンス生成~変数に代入~表示リストに追加~プロパティ設定まで!
でも逆に余計めんどくさい気がしないでもない。。。
setParam()の第1引数は[対象オブジェクト1,対象オブジェクト2,・・・]
第2引数は[[パラメータ名,対象オブジェクト1の値,対象オブジェクト2の値・・・],[パラメータ名,対象オブジェクト1の値,対象オブジェクト2の値・・・]・・・]
第1引数をそのまま返します。
♥0 |
Line 19 |
Modified 2010-03-27 13:43:00 |
MIT License
archived:2017-03-20 09:57:15
ActionScript3 source code
/**
* Copyright meat18 ( http://wonderfl.net/user/meat18 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/92Ni
*/
/*
複数オブジェクトのプロパティ設定がめんどくさいので・・・。
これなら1行で同じプロパティを持つ複数インスタンス生成~変数に代入~表示リストに追加~プロパティ設定まで!
でも逆に余計めんどくさい気がしないでもない。。。
setParam()の第1引数は[対象オブジェクト1,対象オブジェクト2,・・・]
第2引数は[[パラメータ名,対象オブジェクト1の値,対象オブジェクト2の値・・・],[パラメータ名,対象オブジェクト1の値,対象オブジェクト2の値・・・]・・・]
第1引数をそのまま返します。
*/
package {
import flash.display.Sprite;
import flash.text.*;
public class FlashTest extends Sprite{
public function FlashTest(){
var tfs:Array = setParam([TextField(addChild(new TextField)),TextField(addChild(new TextField))],[["autoSize","left","left"],["text","その1","その2"],["x",,100]]);
}
private static function setParam(ar1:Array,ar2:Array):Array{
for(var l:int = 0;l < ar1.length;l ++){
for(var a:int = 0;a < ar2.length;a ++){
if(String(ar2[a][0]) in ar1[l]){
ar1[l][ar2[a][0]] = ar2[a][l+1] != undefined ? ar2[a][l+1]:ar1[l][ar2[a][0]];
}
}
}
return ar1;
}
}
}