読者です 読者をやめる 読者になる 読者になる

Flash制作講座フラッシュ制作講習

FLASH制作からActionScriptによるFlashコンテンツ制作のためのフラッシュ制作講座

リンケージMCループ生成Flash-AS3.0


ライブラリに登録してあるリンケージ(クラス)MovieClipを複数ループ処理で生成する記述について理解してみました。


for文を利用して、stageに親ノードとなるMCを準備して、リンケージMovieClipのクラス名を付けて複数のムービークリップをループ処理でstageに配置したMC内生成します。


文字列からクラス名への変換には、"getDefinitionByName"クラスを利用します。

getDefinitionByNameで文字列のクラスを作成して、配列へ新規変数を配置するというとてもシンプルな方法です。


【記述例】

//ステージMCの用意
var stageMc:MovieClip = new MovieClip();
stageMc.graphics.drawRect(0, 0,500,180);
addChild(stageMc);

//リンケージからのstageMCへのMC生成
var imgArr:Array = new Array();//配列を用意
for (var g=0; g<5; g++) {
var clss:Class = Class(getDefinitionByName("img0"+(1+g))) as Class;//リンケージである"img0*"というムービークリップを変数に変換

var stageImg:MovieClip = new clss();
stageImg.name = "img0"+g;//配置するMCの名前を付ける
imgArr[g]= stageImg;
imgArr[g].x=stagew*g;
stageMc.addChild(stageImg);
}


以上でfor文を利用したループ処理のムービークリップの生成が上手くいきました。