很久没碰flash的东西了,当初也是为了让自己更好的理解actionscript从设计转学了.net c#,再回过头来看AS 3.0就感觉比较“亲切”了,不像以前怎么看觉得怎么不习惯。不过以前的as版本和3.0已经有本质上的区别了,不少以前用的很顺手的代码得使用新的实现方式,得适应下。
主要看了MC的创建复制及访问,这个对于在制作和数据库结合的flash网站也是比较重要的一个环节。
MC的创建:view plaincopy to clipboardprint?
//普通方式创建一个名为mc2的影片剪辑----------------
var mc2:Sprite = new Sprite(); //和C#一样,初始化一个实例
mc2.graphics.beginFill(0xFFCC00); //设置填充色
mc2.graphics.drawCircle(50, 50, 40); //画圆
mc2.buttonMode = true;
addChild(mc2); //把mc2添加到影片中
//普通方式创建一个名为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的影片剪辑view plaincopy to clipboardprint?
//使用复制的方法创建一个名为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添加到当前影片中
//使用复制的方法创建一个名为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的影片剪辑view plaincopy to clipboardprint?
//使用循环的方法创建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
}
//使用循环的方法创建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的访问:
普通的访问view plaincopy to clipboardprint?
//如刚才的mc3,来设置下mc3的X坐标
mc3.x = 100;
//如刚才的mc3,来设置下mc3的X坐标
mc3.x = 100;循环的方法创建n个mc1副本影片剪辑的访问view plaincopy to clipboardprint?
//使用循环的方法设置刚才创建的n个mc1副本的mc11txt的内容
//这里的i是因为前面已经声明过了所以这里使用没有再声明
for(i = 0;i<6;i++){
shells[i].mc11.mc11txt.text = "这是第" + i;//控制的话就通过shells[0]~shells[num]来控制,这样就类似给N多个MC实例名了
}
from:http://blog.breakn.net/article.asp?id=445