予めライブラリにmcを用意しておきます。AS2ではリンケージで登録して「”icon”+i」みたいな感じでfor文でまわせましたが、AS3ではクラスとして登録しておくのでそのままfor文としてまわすことはできません。
参考:for文で連番のクラスを使用する「AS3」
そこで参考サイトにあるように
var myClass:Class = getDefinitionByName(“icon” + i) as Class;
のようにして使います。
参考サイトでは
var obj:MovieClip = new myClass();
となっていますが、連番でmcもつくっておきたいところなので、こんな感じがよいでしょう。
1 2 3 4 5 6 7 8 |
var iconArray:Array = []; var i:uint; for(i=0;i<iconCnt;i++){ var myClass:Class = getDefinitionByName("icon" + i) as Class; iconArray[i] = new myClass(); iconArray[i].x = i * 40; this.addChild(iconArray[i]); } |