打印

[AS3] as3如何动态创建n个影片剪辑

刚开始学AS3,想要动态创建影片剪辑abc1_mc和abc2_mc......abc+i_mc;
可是先前的思路是行不通了。


for(var i=1;i<3;i++)
{
       var abc+i+_mc:MovieClip = new MovieClip();
       this.addChild(abc+i+_mc);
}


以上代码是无法通过的,
懂AS3的高手给指点指点哦。
复制内容到剪贴板
代码:
var mc_arr:Array=new Array();
for(var i:int=0;i<3;i++)
{
       var mc:MovieClip = new MovieClip();
       mc_arr.push(mc);
       this.addChild(mc);
}
for(var i=1;i<3;i++)
{
       var mc:MovieClip = new MovieClip();
       this.addChild(mc);
}
引用:
原帖由 mirycat 于 2007-11-16 00:29 发表
for(var i=1;i
版主的没有看明白,难道MC的名称会不一样么?
烙铁了;
偶也想知道,版主的没有看明白,难道MC的名称会不一样么?
One World

TOP

var i:int; // 新的数据类型 int ,只要是整数,就请用 int 。效率快过 Number 。
for (i = 0; i < MAX_MCS; i++) {
tempMC = new KingdaMC ();
// 以下两行定义创建的 KingdaMC 形状大小随机
tempMC.scaleX = Math.random();
tempMC.scaleY = tempMC.scaleX;
// 以下两行定义创建的 KingdaMC 位置在舞台上随机。
tempMC.x = Math.round(Math.random() * (this.stage.stageWidth - tempMC.width));
tempMC.y = Math.round(Math.random() * (this.stage.stageHeight - tempMC.height));
addChild(tempMC);
}



黑羽教程中的一段代码~~~~~~~~要命名,貌似是要直接用
tempMC.name = "abc"+i+"_mc"
少壮不努力,老大搞IT!从小不学好,长大编程序! -_-#

TOP

引用:
原帖由 haxe 于 2007-11-16 00:29 发表

var mc_arr:Array=new Array();
for(var i:int=0;i
这个代码 可以通过数组引用元素对创建的mc产生控制

TOP

for(var i=1;i<3;i++)
{
       var mc:MovieClip = new MovieClip();
       this.addChild(mc);
}
mc名字全都一样,但是会被创建3个 放在默认的0,0点  反正 3.0就是允许这样。。。

TOP

var array:Array = new Array();
var mc:MC_Class;
var num:int;
在构造函数里
num = 10;
for(var i:int = 0;i<num;i++){
mc  = new MC_Class();//创建实例
mc.x = i * 50;
mc.y = 100;//设置mc的坐标
this.addChild(mc);//加入显示列表
array.push(mc);//加入数组
}


/*
控制的话就通过array[0]~array[num]来控制,这样就类似给N多个MC实例名了
*/

TOP

那创建出来的实例名都是什么???都是一个名字?

TOP

引用:
原帖由 michaellee23 于 2008-9-28 00:49 发表
那创建出来的实例名都是什么???都是一个名字?
AS3 不再用实例名引用对象, 所以不用指定实例名. 只有程序内部的 ID.
你可以通过实例名的 name 属性指定

TOP

引用:
原帖由 OneNature 于 2008-9-28 14:27 发表


AS3 不再用实例名引用对象, 所以不用指定实例名. 只有程序内部的 ID.
你可以通过实例名的 name 属性指定
for(var i=1;i<3;i++)
{
       var mc:MovieClip = new MovieClip();
       mc.name="mc"+i;
       this.addChild(mc);
}
如楼上说的,手动指定mc的名字就可以了,似乎flash出来的实例会自己按照instance1,instance2---命名

TOP

作为初学者的我,感觉12#的最为精妙

TOP

精苗个鬼,movieClip根本就不可以指定NAME,一指定就会报错的,name是他父类,displayObject的属性。。。

TOP

14 # 不懂装懂

TOP

哈哈,14楼没学过继承
http://www.ui17.com你我一起

TOP

14楼。。无语了。。
12楼正解非常正。去掉似乎就行了。呵呵。估计是看cookbook看的吧。
i'm fine

TOP