AS3与AS2的一些不同之处
一、加载库中的影片剪辑。
在库中右击该元件,打开连接面板,我们会看到一个叫类的文本框,在这里给这个类取一个名字,比如myl.确定。这样我们就加载了一个叫myl的类了。接下来,在场景的帧动作中,输入:
- var mymc:myl = new myl();
- addChild(mymc); //注意,AS3不支持attachmovie了。
- mymc.x = 100; //注意,AS3不支持_x了
- mymc.y = 100;
测试影片,我们会看到,库中的这个元件已被加载到舞台的(100,100)坐标处了。
二、AS3的事件侦听机制
注意:AS3已经不支持在元件上编写监听事件了,必须在关键针上写监听函数,然后编写元件的addEventListener方法,如下所示:
(1)自定义监听实现函数:
- function 函数名称(事件对象:事件类型):void
- {
- // 此处书写为响应事件而执行的动作。
- }
(2)编写元件的addEventListener方法:
触发事件的元件对象.addEventListener(事件类型.事件名称, 函数名称);
举例说明如下:
- var mc_yuan:yuan=new yuan();
- addChild(mc_yuan);
- mc_yuan.x=100;
- mc_yuan.y=100;
- function go5(event:MouseEvent):void{
- gotoAndPlay(5);
- }
- mc_yuan.addEventListener(MouseEvent.CLICK,go5);//当鼠标点击圆时,触发go5函数,执行所规定的动作。
三、在AS3中改变对象的位置和缩放对象
在AS2中对象的大小可以用width,height,_xscale,_yscale四个属性来确定,在AS3中width和height是一样的,用scaleX和scaleY属性取代了_xscale,_yscale属性。同时它们的值也是有区别的。
AS2中的,_xscale, _yscale属性值是百分比。而AS3中的scaleX和scaleY值是一分比。scaleX和 scaleY值实际就是放大缩小的倍数。
比如,在AS2中 mymc._xscale = 30; 这是将mymc的宽度缩小到原来的30%。 在AS3中 mymc.scalex = 30; 这是将mymc的宽度放大到原来的30倍。要将宽度缩小到30%,就要用 mymc.scale = 0.3;
下雪事例代码:
- var i:Number = 1;
- addEventListener(Event.ENTER_FRAME,xx); //此句说明是跟root场景添加监听事件。
- function xx(event:Event):void {
- var x_mc:xl = new xl();
- addChild(x_mc);
- x_mc.x = Math.random()*550;
- x_mc.scaleX = 0.2 + Math.random();
- x_mc.scaleY = 0.2 + Math.random();
- i++;
- if(i>100){
- this.removeChildAt(1); //删除先前加载的雪花对象,不然雪灾了。
- i=100;
- }
- }
四、清理某个MC加载的所有影片和缓存
- //首先清理下缓存
- while(mc_right.numChildren){
- mc_right.removeChildAt(0);
- }
五、子级访问ROOT变量或MC
MovieClip(root).parm
六、重定义组件样式
- //设置字体样式
- var btnstyle:TextFormat = new TextFormat();
- btnstyle.size = 12;
- hj_btn.setStyle("textFormat",btnstyle);
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例