flash AS 3.0中MC创建复制及访问实例
主要看了MC的创建复制及访问,这个对于在制作和数据库结合的flash网站也是比较重要的一个环节。
MC的创建:
代码如下 | 复制代码 |
//普通方式创建一个名为mc2的影片剪辑---------------- var mc2:Sprite = new Sprite(); //和C#一样,初始化一个实例 mc2.graphics.beginFill(0xFFCC00); //设置填充色 mc2.graphics.drawCircle(50, 50, 40); //画圆 mc2.buttonMode = true; addChild(mc2); //把mc2添加到影片中 |
MC的复制:
当影片中已经存在一个mc1的影片剪辑
//使用复制的方法创建一个名为mc3的mc1副本影片剪辑------------
//取得mc1对象的基类的完全限定类名
代码如下 | 复制代码 |
var classNameStr :String = getQualifiedClassName(mc1); //取得classNameStr的类的类对象引用 var className : Class = getDefinitionByName(classNameStr) as Class ; var mc3:Sprite = new className() as Sprite; //实例化一个影片剪辑 addChild(mc3); //把mc3添加到当前影片中 |
使用循环方式复制N个mc1的影片剪辑
//使用循环的方法创建n个mc1副本影片剪辑-----------------
代码如下 | 复制代码 |
var shells:Array = new Array(); for (var i:int = 0; i<6; i++) { var mc:Sprite = new className() as Sprite; //实例化一个影片剪辑 mc.x = i * 150; //设置显示位置 mc.y = 100 + i * 20; //设置显示位置 addChild(mc); //把mc添加到当前影片中 shells.push(mc) //把mc添加到数组中,以便访问复制的MC } |
MC的访问:
普通的访问
//如刚才的mc3,来设置下mc3的X坐标
mc3.x = 100;
//如刚才的mc3,来设置下mc3的X坐标
mc3.x = 100; 循环的方法创建n个mc1副本影片剪辑的访问
//使用循环的方法设置刚才创建的n个mc1副本的mc11txt的内容
//这里的i是因为前面已经声明过了所以这里使用没有再声明
代码如下 | 复制代码 |
for(i = 0;i<6;i++){ shells[i].mc11.mc11txt.text = "这是第" + i;//控制的话就通过shells[0]~shells[num]来控制,这样就类似给N多个MC实例名了 } |
上面这些写法还是停留在as2.0中的写法只,不过己经偏向了3.0了。
补充:flash教程,As3.0