クラスを文字列ã§å‚ç…§

æ–‡å­—åˆ—ã§æŒ‡å®šã•れãŸã‚¯ãƒ©ã‚¹åã‹ã‚‰ã‚¯ãƒ©ã‚¹ã®å‚ç…§ã‚’å¾—ã‚‹ã«ã¯ã€flash.utils.getDefinitionByName()を使ã„ã¾ã™ã€‚

å‚考ã«ã•ã›ã¦é ‚ã„ãŸãƒšãƒ¼ã‚¸

例ãˆã°é€£ç•ªã§ã‚¯ãƒ©ã‚¹åを設定ã—ãŸã‚·ãƒ³ãƒœãƒ«ã‚’並ã¹ãŸã„å ´åˆã¯ã“ã‚“ãªæ„Ÿã˜ã«ãªã‚Šã¾ã™ã€‚

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

	public class GetDname extends MovieClip
	{
		//コンストラクタ
		public function GetDname():void {
			init();
		}

		public function init():void
		{
			for (var i:int = 0; i < 4; i++)
			{
				var no_str:String = "No" + i;
				var myClass:Class = Class(getDefinitionByName(no_str));
				var myInstance:MovieClip = new myClass();
				addChild(myInstance);

				// インスタンスã®åº§æ¨™è¨­å®š
				myInstance.x = i * myInstance.width;
				myInstance.y = i * myInstance.height;
			}
		}
	}
}

MovieClipシンボルã®ã‚¯ãƒ©ã‚¹åを指定ã™ã‚‹ã«ã¯ã€ãƒ©ã‚¤ãƒ–ラリã®è©²å½“シンボル上ã§å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€ŒAction Scriptã«æ›¸ã出ã—ã€ã«ãƒã‚§ãƒƒã‚¯â†’クラスåを入力ã™ã‚‹ã®ã§ã™ãŒã€1ã¤2ã¤ãªã‚‰ã¨ã‚‚ã‹ãæ•°ãŒå¤šã„ã¨é¢å€’。ãã‚“ãªæ™‚ã¯Flashã®æ‹¡å¼µæ©Ÿèƒ½ã‚’利用ã™ã‚‹ã¨ä¾¿åˆ©ã§ã™ã€‚今回ã®å ´åˆã ã¨FACEs: é¸æŠžã—ãŸï¼­ï¼£ã‚’一気ã«ãƒªãƒ³ã‚±ãƒ¼ã‚¸æ›¸å‡ºã—ã™ã‚‹JSFL。クラス指定もã—ã¾ã™ã€‚を使ã†ã¨ã‚¤ãƒ©ã‚¤ãƒ©ã›ãšã«æ¸ˆã¿ã¾ã™ã€‚
Flashã®æ‹¡å¼µæ©Ÿèƒ½ã«ã¤ã„ã¦ã¯ä»¥ä¸‹ã®ãƒšãƒ¼ã‚¸ãŒå‚考ã«ãªã‚Šã¾ã™ã€‚

Facebook Comments