FlashAS3.0第三讲.ppt

上传人:本田雅阁 文档编号:2144472 上传时间:2019-02-21 格式:PPT 页数:29 大小:164.51KB
返回 下载 相关 举报
FlashAS3.0第三讲.ppt_第1页
第1页 / 共29页
FlashAS3.0第三讲.ppt_第2页
第2页 / 共29页
FlashAS3.0第三讲.ppt_第3页
第3页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《FlashAS3.0第三讲.ppt》由会员分享,可在线阅读,更多相关《FlashAS3.0第三讲.ppt(29页珍藏版)》请在三一文库上搜索。

1、第三讲,Flash ActionScript 3.0 面向对象程序设计基础,二维动画设计,链接类,使用链接类可以很方便地从库中导出资源。 自动创建链接类 自定义链接类,二维动画设计,addChild()方法 Flash中的所有可视对象,包括影片剪辑、形状、按钮、文本等都被作为显示对象并自动添加到场景上,但是AS创建一个可视对象时,并不会自动在场景上显示,必须使用addChild()方法将显示对象放到显示列表中。,二维动画设计,定义类的基本格式,package class 类名 var 属性名;(静态、实例) function 方法名()(静态、实例、构造函数) ,二维动画设计,Class 的构

2、成,1、包路径 package关键字(包路径) 用package关键字定义项目文件所在的包路径,如果 package后面没有包路径的声明,默认路径就是项目 目录。如果不在同一目录下,需导入。,二维动画设计,例,Hello.as 位于classes文件夹下,而Hi.as 位于classes的前级目录下 ,若在Hi中要用到Hello类的话,需使用语句导入。 package import classes.Hello; ,二维动画设计,Class 的构成,2、Class的名称 class类的名称 在package花括号内,必须定义一个class。 类的名称必须与项目文件名同名。,二维动画设计,Clas

3、s 的构成,3、类属性(类的访问控制),二维动画设计,Class 的构成,4、属性 (包括实例属性和静态属性) (1)实例属性 var 属性名称:属性类型=值 (2)静态属性 Static 关键字,可被视为类的属性。(注意与 类属性的区分),二维动画设计,Class 的构成,5、构造函数 类中一种特殊的方法,名称必须与类名一致,常 用来指定默认值,或设置对象的操作方法,作用 是使对象初始化,不能有返回值,但可带参数。 可不显式写出,但在编译时会自动生成一个空的 构造函数,推荐写出。,二维动画设计,构造函数,构造函数在初始化实例的时候会自动运行,构造函数只能使用public控制访问,若省去pub

4、lic,编译器会默认为public。构造函数不能有返回值,但并不意味着不能使用return语句,只是return后的语句都不能执行。,二维动画设计,Class 的构成,6、方法 (包括实例方法和静态方法) (1)实例方法 function 方法名称(参数):返回值类型 方法内容 (2)静态方法 static function 方法名称(参数):返回值类型 方法内容 ,二维动画设计,属性和方法的属性(访问控制),二维动画设计,类成员的属性的级别,由高至低 publicinternalprotectedprivate 同一包路径下的的类成员间相互访问,internal相当于public,为默认修饰

5、符,在包外访问会报错。 protected能被当前类和当前类的子类访问,与package无关,如果不是当前类的子类,等同于private。,二维动画设计,访问属性和方法,1、静态属性: 直接使用静态属性名访问静态属性。 如类名.属性名 classA.property 2、静态方法 直接使用静态方法名访问静态方法 如类名.方法名 classB.functionB(),二维动画设计,访问属性和方法,3、实例属性 必须先创建实例(使用new关键字),才能访问实例 属性。 var classA:类名=new 类名() classA.property 4、实例方法 必须先创建实例,才能访问实例属性。 v

6、ar classB:类名=new 类名() classB.functionB(),二维动画设计,一个as文件中设计多个类,package关键字后的花括号内,必须而且只能定义一个 类(当前包的成员类)。 在 package 花括号内的类,必须与文件同名。 在package 花括号外,可以再定义若干个 Class,但不得与前面的成员类同名,也可以不再定义其他类。 花括号外的类,称为当前类文件的包外类,也属于当前包,但只有当前类文件中的成员类可以访问。,二维动画设计,包外类,在package和class的花括号后,可视为包的私有类。dynamic属性可使动态类在运行时添加新属性。 package i

7、mport flash.display.MovieClip; public class sampleClass extends MovieClip 。 public function sampleClass():void class A dynamic class B ,二维动画设计,实例讲解,例1:编写一个小球的链接类,利用带参数的构造函数使之具有相应的编号。,二维动画设计,示例,汽车类 职工类 几何类圆类 Flash特有的文档类,二维动画设计,汽车类,package classes import flash.display.Sprite ; public class Car extends

8、 Sprite public function Car ( x0 : Number = 0 , y0 : Number = 0 ) graphics.lineStyle ( 0x0 , 1 ) ; graphics.drawRect ( x0 , y0 , 100 , 20 ) ; /在指定位置绘制矩形代表汽车 /以上代码为类的构造函数,x0和y0为开始时汽车位置 public function moveToXY ( x2 : Number , y2 : Number ) / x2和y2为汽车行驶目的地位置 this.x = x2 ; this.y = y2 ; / this指向自身实例 ,二

9、维动画设计,职工类,package classes public class Worker public static maxFixYear : uint = 30; /最大供职年限,属于整个类 public : name : String ; /职工姓名 public : genda : String ; /职工性别 public const MAN : String = “男“ ; public const WOMAN : String = “女“ ; public function Worker ( s : String , b : String = MAN) : void /构造函数,

10、需要指定姓名和性别,性别默认为男 name = s ; genda = b ; public function work ( ) trace (“开始工作-工作中-工作完成“ ) ; ,二维动画设计,get() 、set()方法,ActionScript 3.0中提供了get()方法与set()方法来访问私有变量,通过get()方法访问的成员变量属于可读属性,set()方法访问的成员变量具有可写属性,配合两种方法获得读写控制,有利于类的封装。,二维动画设计,get方法,定义一个 getter,它是一种可像属性一样读取的方法。getter 是一个特殊的函数,它将返回使用 var 或 const

11、关键字声明的属性的值。与其它的方法不同,调用 getter 时不使用括号 (),这样 getter 看起来就像是变量。,二维动画设计,package public class Person private var _name:String=“lhx“; public function get name():String return _name; public function set name(a:String):void this._name=a; ,var p:Person=new Person() trace(p.name) p.name=“hjt” trace(p.name),二维动

12、画设计,几何类圆类,package classes public class Circle private _radius : Number ; /存储半径值,不能直接访问 private const PI : Number = 3.14159 ; public function get radius ( ) : Number return _radius ; public function set radius ( r : Number ) if ( r = 0) _radius = r ; /采用set方法,可以验证数据 public function Area ( ) : Number

13、return PI * _radius * _radius ; ,二维动画设计,静态方法访问权限,package class Test var var1:int; static var var2:int; function func():void trace(var1);/正确,实例方法可以访问实例属性 trace(var2);/正确,实例方法可以访问静态属性 static function func2() trace(var1);/错误,静态方法不能访问实例属性 trace(var2);/正确,静态方法只能访问静态属性 ,同样,静态方法可以调用其他静态方法,而实例方法不能调用静态方法,二维动

14、画设计,文档类,文档类是AS3.0新出现的一种特性,可以使用【属性】面板来实例化。从位置上看,文档类位于显示列表的根。,舞 台,文档类的实例,其他类的实例,二维动画设计,创建Flash文件时,系统会自动创建MainTimeline类, MainTimeline类其实就是文档类,其实例就是主时间轴。 MainTimeline类本质是一个继承MovieClip类的文档类。文档类必须直接或间接地继承Sprite类或MovieClip类。,package import flash.display.MovieClip; public class Document extends MovieClip public function Document() trace(stage.numChildren); trace(stage.getChildAt(0); ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1