MovieClip.attachMovie 加载库中元件,设置多个引用

myfunc = function(targetW){
	for(var i = 0;i<arr.length;i++){
		var pos_x = (arr[i].position)* targetW;
		var mc = container.subcontainer['adsFlagMC'+i];
		if(!mc) {
			container.subcontainer.attachMovie("adsFlag2","adsFlagMC"+i,container.subcontainer.getNextHighestDepth());
			mc = container.subcontainer['adsFlagMC'+i];
		}
		if(pos_x<0|| targetW <=0){
			mc._visible=false;
		}else{
			mc._visible=true;
			mc._x =pos_x;
		}
	}
}

在container.subcontainer这个mc中根据其宽度和需要显示元素的位置(百分比位置),依次创建"adsFlag2"这个元件的剪辑实例。并且设置其位置x。

在获取targetW的时候也有一个问题,就是随着加入影片剪辑实例的同时,会将container.subcontainer的整体宽度撑开,所以一般不可以直接取container.subcontainer的宽度即container.subcontainer._width. 可以通过其左右元件的宽度,将总的宽度减去这些不变元素的宽度,就是container.subcontainer的宽度。这样不管container.subcontainer随着怎么的拉伸,其宽度也是相应变化。container.subcontainer中创建的剪辑实例的位置也会变化,就达到了理想的状况。
AS2中对子元素的引用可以按照这个方法,根据元素名称获取。

你可能感兴趣的:(chm)