2009-03-08(Sun) 17:01
[AS3.0]連番のMovieClipのインスタンスを作成

下図のようにFLashで連番で作成したMCを一括で配置します。
連番MovieClip
まずは文字列からインスタンスを作成します。
getDefinitionByNameという関数を使いますので、
import flash.utils.getDefinitionByName
でインポートします。

package
{
	import flash.display.MovieClip;
	import flash.utils.getDefinitionByName;

	public class Test8 extends MovieClip
	{
		public function Test8() {
			var class_name:String = "btn" + 1;
			var class_reference:Class = Class(getDefinitionByName(class_name));
			var btn:MovieClip = new class_reference();
			addChild(btn);
		}
	}
}

これでとりあえず一つだけは配置できました。
あとはfor文で繰り返すだけです。

package
{
	import flash.display.MovieClip;
	import flash.utils.getDefinitionByName;

	public class Test8 extends MovieClip
	{
		public function Test8() {
			for (var i:int = 1; i<=5; i++) {
				var class_name:String = "btn" + i;
				var class_reference:Class = Class(getDefinitionByName(class_name));
				var btn:MovieClip = new class_reference();
				addChild(btn);
				btn.y = i * 30;
			}
		}
	}
}


Comment Form
Name
E-mail
URL
Comment

TrackBack URL