[AS]オブジェクトの変数名をfor文で回せるの?
どうやればいいのだろう。
これだと、nullになっちゃう。
配列につっこんで管理するしかないのか?
for(var i:uint = 0; i<3;i++){ var sh0:Sprite; var sh1:Sprite; var sh2:Sprite; var sp:Shape = "sh"+i as Shape; sp = new Shape(); var spg = sp.graphics; spg.lineStyle(5,0xff0000,1,true); spg.moveTo(0,0); spg.curveTo(100,100,i*50,200+i*10); spg.endFill(); addChild(sp); } trace(sh1);//nullになる
///////////////////////////////////////
//12/5 追記
//根本的に書き方がおかしかった
//これなら参照できるけど、sh0,sh1,sh2の定義がfor文で重複してる。。。
//もう少しマシな書き方がありそう・・・
for(var i:uint = 0; i<3;i++){ var sh1:Shape; var sh2:Shape; var sh0:Shape; var sp:Shape = new Shape(); this["sh"+i] = sp var spg = sp.graphics; spg.lineStyle(5,0xff0000,1,true); spg.moveTo(0,0); spg.curveTo(100,100,i*50,200+i*10); spg.endFill(); addChild(sp); } trace(sh1)
Tweet