我一直在互联网上看这个,但我认为,据我所搜索,还没有发布任何内容(如果有的话,请给我一些链接)。这是一种以这种方式创建实例的方法。当我尝试时,有一个编译错误,一个语法错误(“在此之前需要标识符”)。我很高兴收到你们的帮助。
这是我的代码。
var mc_Names:Array = [];
function createMovieClip(index:int):void{
var nameOfMc:String = "mc_" + index;
mc_Names[index] = nameOfMc;
var this[mc_Names[index]]:MovieClip = new MovieClip(); **// this is what I'm asking if it is possible**
this[mc_Names[index]].graphics.lineStyle(20,0x00FF00, 0.5);
this[mc_Names[index]].graphics.moveTo(square_mc.x,square_mc.y);
this[mc_Names[index]].graphics.lineTo(mc3.x, mc3.y);
this[mc_Names[index]].x = 0;
this[mc_Names[index]].y = 0;
addChildAt(this[mc_Names[index]], 0);
currentIndex++;
}
或者有没有办法让它更简单或通过this []声明变量实例的另一种方式来动态创建那些movieclip实例。
答案 0 :(得分:0)
var index:int = 1;
var A:Array = new Array();
A[index] = "mc_1";
A[index] = new MovieClip();
A[index].graphics.lineStyle(20,0x00FF00, 0.5);
A[index].graphics.moveTo(0,0);
A[index].graphics.lineTo(100, 100);
A[index].x = 0;
A[index].y = 0;
addChildAt(A[index], 0);
//可以这样做。直接替代......:D