龙图教育AS3方法和技巧

上传人:拖*** 文档编号:292057349 上传时间:2022-05-13 格式:DOCX 页数:9 大小:20.03KB
返回 下载 相关 举报
龙图教育AS3方法和技巧_第1页
第1页 / 共9页
龙图教育AS3方法和技巧_第2页
第2页 / 共9页
龙图教育AS3方法和技巧_第3页
第3页 / 共9页
龙图教育AS3方法和技巧_第4页
第4页 / 共9页
龙图教育AS3方法和技巧_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《龙图教育AS3方法和技巧》由会员分享,可在线阅读,更多相关《龙图教育AS3方法和技巧(9页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑龙图教育AS3方法和技巧 AS3方法和技巧 1.变更影片的帧频 2.类方法的作用域和类绑定 3.Graphics对象和绘图接口(API) 4.新的变量类型 5.显示对象 6.新的引入指令 7.唯一的类变量 8.新的鼠标移动事情 1. 变更影片的帧频 在AS3中,充许通过Stage类动态地变更影片的帧频. 每一个Sprite或者MovieClip实例都有一个stage属性,这个属性关联到一个Stage对象.可以通设置Stage对象的frameRate属性的值来调整影片播放时的帧频.frameRate值的大小范围为0.01至1000. /变更帧频为12帧/s s

2、tage.frameRate=12; 2.类方法的作用域和类绑定 ActionScript 3 是完全基于类的,当你创造了一个类的时候,你也创造了与这个类相关的变量和函数(方法)以及类的实例,和ActionScript 2不同的是,ActionScript 3.0 中的方法类在的范围内调用. 即使函数被绑定给其它对象,然后通过这个对象调用函数,这个函数的调用范围依旧是函数所在的类,和Function.call和Function.applye用法一样. package import flash.display.Sprite; public class ClassScope extends Spr

3、ite public function ClassScope() traceThis(); / var obj:Object = new Object(); obj.traceThis = traceThis; obj.traceThis(); / traceThis.call(new Sprite(); / public override function toString():String return public function traceThis():void trace(this); 1 注:as2时代常用的Delegate可以不用了。更不用麻烦的使用下面的方法了, var ow

4、ner = this; function clickHandler():Void /do something. owner.someMethod(); 3.Graphics对象和绘图接口(API) 和AS1和AS2一样,AS3也有一组绘图接口(drawing API),可以在影片(MC或者sprites)中动态地绘制矢量线条和图形.但在AS3中绘图接口不再像以前直接用于可见对象(Display Objects),而是单独定义为图形对象 (flash.display.Graphics). 图形对象拥有各种绘图方法用来在内部绘制图形。和以前一致的是,它被放置在目标对象的全体内容的下面,也就是说,在

5、AS3中,你可以用新的函数更加便当的绘制矩形,圆形,甚至圆角矩形.这些函数包括: drawCircle(x:Number, y:Number, radius:Number):void drawEllipse(x:Number, y:Number, width:Number, height:Number):void drawRect(x:Number, y:Number, width:Number, height:Number):void drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Num

6、ber,eHeight:Number):void code: /绘制一个蓝色的圆角矩形 var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRoundRect(0, 0, 100, 50, 10, 10); square.graphics.endFill(); addChild(square); 4.新的变量类型 as3 扩展了变量类型范围. 简朴类型 Boolean int null Number String uint 2 undefined 复合类型 Obje

7、ct Array Date Error Function RegExp XML XMLList 另外还有一些分类到各个包中的诸如Matrix (flash.geom.Matrix), Shape (flash.display.Shape), URLRequest (.URLRequest),等等 一些提示 :Void 类型在 as3 中使用小写, Void改为 void 新增了万能类型 * 用来表示全体类型. 假设你没有为变量指定类型, 那么他即是默认类型var anyThing:* XML 类型和 as1, 2 中的 XML不一样.通用的数据类型. as3 中的 XML 基于 E4X, 而不

8、是象传统XML的解析接口一样, E4X使得XML成为通用的数据类型。E4X 简化操作XML将大大的裁减相当 数量的代码以适用应用工程需要的进展。 新增 int 和 uint 简朴类型来表示整数, 他们在数组遍历等不需要小数的场合相当有用. 在多数处境下int 类型会比使用 Number 快一点点, 而 uint 通常用来只用来表示颜值. 5.显示对象 (Display Object) AS3中全体能在屏幕上看到的或者被添加到”显示列表”(display list)中对象组成了一个新的display objects的集合,它不仅仅包括以前AS的简朴影片剪辑,按钮,和文本域这些对象,AS3还包括:

9、 AVM1Movie Bitmap Loader MorphShape* MovieClip Shape SimpleButton Sprite StaticText* TextField Video 后面加*的在时间轴上事先创造才能对它们操作,而且它们不能用AS直接创造. AMV1Movie表示用AS1/2创造的影片,这些影片使用ActionScript Virtual Machine 1运行,而AS3影片用ActionScript Virtual Machine 2.AMV2也可以播放AVM1影片,但是AS3不能和AMV1 3 影片或者它们的脚本交互. Bitmaps 位图对象.你可以用B

10、itmapData对象来描绘图像,也可以用外部位图文件. Loader对象可以加载外部的图像或者SWF影片. MorphShapes是时间线上创造的外形补间,尽管不能用AS创造MorphShapes,但是你可访问到时间轴上已经存在的MorphShapes. MovieClips 还是以前那个你热爱和了解的影片剪辑. Shapes是被拆开的影片剪辑,它本质上只包括一个通过矢量绘图接口描绘图形的graphics对象.用Shapes来代替movieClips和sprites可以俭约内存资源.Sprites本质上就是没有时间的影片剪辑.它是在AS3中最常用到的,你可以在自己的display objec

11、t子类的时候继承它. StaticText和MorphShapes一样.不能用AS创造,只能手动创造. TextField包括动态文本和输入文本. Video 用来描述flash视频文件. 6.新的引入指令 AS3中的引人指令 和AS2有一点点的不同,在AS2中,import指令被单独用来表示定义在包中类的简写; 在使用类时不是务必用import指令的, 你完全可以仅仅直接使用类的全名来使用类. code: /ActionScript 2 此时可以不用import指令. var myPoint:flash.geom.Point = new flash.geom.Point(0,0); 或者:

12、import flash.geom.Point;/此时用了import指令 var myPoint:Point=new Point(0,0); 在AS3中,访问类包中的类时,那怕是你使用了相关类的全名,也务必使用引入指令,当然不怕麻烦的话,你还可以像下面一样写了类的命名,也可以仅仅导入类的名称然后直接使用.但导入是必需的! code: / ActionScript 3 import flash.geom.Point; var myPoint:flash.geom.Point = new flash.geom.Point(0,0); AS3中你同样可以像AS2一样用通配符(*)来导入一个包中的全

13、体类. import flash.geom.*; 相关资料: 类务必导入,即使是那些提及到类使用MyPackage.MyClass类,你务必导入MyPackage.*; 或者导入MyPackage.MyClass;这是务必的即使是那些提及到的类,列如使用全名MyPackage.MyClass。 在ActionScript 3.0中,被导入的文件说明你想使用来自于另一个 4 包的类,而在ActionScript 2.0中它只是一个简写。 在ActionScript 3.0中,完整的类名称用于消释模棱两可的处境,而且不会是导入文件方式的替代方式。 7.唯一的类量 在AS2中,类中定义的变量同时也被

14、定义在类的prototype对象中.这样做虽然能很有效率的处理变量的定义,但是对于繁杂的数据类型(例如数组)的定义来说有点问题,假设不在类的构造函数中为每个实例明确的定义,这些数据就可能会被”shared”,造成不便. AS3已经解决了这个问题,AS3中类中定义的变量对于每一个类的实例来说都是唯一的,所以这个问题不会发生了. ActionScript Code: class myClass private var list:Array = 1,2,3; / bad for AS2, ok for AS3 public function myClass() / list should be defined here for AS2 注:LUAR的一书中也提到了这个问题.P80 8.新的鼠标移动事情 在AS3中mouseMove事情有一点变更.以前,mouseMove事情不管鼠标在不在flash影片内,只要鼠标移动,Mouse对象或者MC的侦听器都会认为鼠标在移动并且采纳这一事情.(MC不需要变为Mouse对象侦听器也可以动态接收鼠标事情). 而在AS3中,Mouse对象不再用来分派(dispatch)鼠标事情了.对于mouseMove事情,可以

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号