ActionScript 3 殿堂之路 学习笔记.docx

上传人:b****1 文档编号:2523068 上传时间:2023-05-03 格式:DOCX 页数:94 大小:270.98KB
下载 相关 举报
ActionScript 3 殿堂之路 学习笔记.docx_第1页
第1页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第2页
第2页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第3页
第3页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第4页
第4页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第5页
第5页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第6页
第6页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第7页
第7页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第8页
第8页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第9页
第9页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第10页
第10页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第11页
第11页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第12页
第12页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第13页
第13页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第14页
第14页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第15页
第15页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第16页
第16页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第17页
第17页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第18页
第18页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第19页
第19页 / 共94页
ActionScript 3 殿堂之路 学习笔记.docx_第20页
第20页 / 共94页
亲,该文档总共94页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ActionScript 3 殿堂之路 学习笔记.docx

《ActionScript 3 殿堂之路 学习笔记.docx》由会员分享,可在线阅读,更多相关《ActionScript 3 殿堂之路 学习笔记.docx(94页珍藏版)》请在冰点文库上搜索。

ActionScript 3 殿堂之路 学习笔记.docx

ActionScript3殿堂之路学习笔记

ActionScript3殿堂之路学习笔记

目录

-前言--------------------------------------------------------------------

第一部分ActionScript3语言基础..........................................1

第1章ActionScript3语言介绍与开发环境/1

第2章ActionScript3语言基本元素/1

第3章ActionScript3流程控制/5

第4章ActionScript3中的函数及高级使用技巧/7

第二部分ActionScript3面向对象编程......................................8

第5章类和对象——从定义到原理/8

第6章ActionScript3中的封装:

类的成员、类、包与访问控制/11

第7章命名空间/12

第8章复合与继承/13

第9章多态/15

第10章抽象类和接口/16

第三部分ActionScript3核心类...........................................17

第11章ActionScript3核心类和全局函数/17

第12章数组:

Array/19

第13章字符串:

String/21

第14章强大的正则表达式:

RegExp/24

第15章XML数据处理/28

第16章异常和错误的捕捉与处理/31

第四部分ActionScript3主要的FlashPlayerAPI..........................33

第17章ActionScript3目前主要的API概览/33

第18章事件发送和处理/34

第19章网络通信基础/36

第五部分ActionScript3视觉编程.........................................38

第20章ActionScript3视觉编程精要/39

第21章DisplayObject类与矢量图、位图/41

第22章容器DisplayObjectContainer与Sprite、MovieClip/44

第23章FlashCS3:

库元件的类绑定与Stage、文档类/49

第24章显示编程与事件、人机交互/51

第25章ActionScript3动画编程/53

第26章Flash创作工具和Flex协作开发组件/54

附录....................................................................54

------------------------------------------------------------------结束语-

 

-前言------------------------------------------------------------------

首先感谢孙颖老师的辛苦。

写学习笔记是为了巩固我这几个月以来对这部书的认识和记忆,并且可以方便日后我对ActionScript3知识的查阅。

我希望在这篇笔记写完之际,我的ActionScript3学习之旅会更上一层楼。

于是怀着这种心态写下了这个笔记。

---------------------------------------------------------------------------

 

第一部分ActionScript3语言基础

第1章ActionScript3语言介绍与开发环境

1.1ActionScript3程序的编译流程

ActionScript3代码被编译器编译为FlashPlayer运行时能理解的ActionScriptbytecode(字节码),简称ABC文件。

但ABC文件不能单独运行,必须放到SWF文件中才可以被FlashPlayer执行。

1.2trace和new

trace用来调试和输出,new(新建)是构造函数的关键字。

 

第2章ActionScript3语言基本元素

2.1ActionScript3中数据本质及重要性

一切都是对象。

ActionScript3中数据类型分为基元数据类型和复杂数据类型。

基元数据类型只有Boolean、String、Number、int、uint这五种类型。

复杂数据类型包括Array、Object、Date、Error、Function、RegExp、XML、自定义的类等等。

基元数据类型是一种不变对象,所以说是值类型。

复杂数据类型可以理解为引用类型。

2.2变量

1.变量的本质和概念

变量是用来存储数据的。

变量持有的是引用而不是具体的数据。

常量是一种特殊的变量。

常量就是恒定不变的数值。

常量只能保证持有的引用不变,并不能保证引用的对象自身的状态不发生改变。

能使用常量的地方尽量使用常量。

2.命名规则

●使用有含义的英文单词作为变量名。

●变量名采用骆驼式命名法。

首字母小写,第二单词字母大写。

●变量名越简洁越好,描述越越清晰越好。

●避免出现数字编号。

特殊:

常量全部使用大写。

类名首字母大写。

包名所有字母为小写。

接口前加大写I。

2.3基础数据类型

基础数据类型是指编程中常用的基本的数据类型。

其中包括所有的基元数据类型和Array、Object这两个复杂数据类型。

1.布尔值:

Boolean

Boolean用来表示真假,true(真),false(假)。

默认值为false(假)。

2.字符串:

String

String就是一串字符。

String中常用的符号:

\n(换行)、\r(回车)、\t(制表)、\(转义符)、\”(双引号)、\’(单引号)、\\(反斜杠符号)

\r\n与\n是有区别的,如果要通用的则是\r\n,因为有些编辑器它不认\n。

3.数字:

Number、int、uint

Number:

64位浮点数,数值范围非常大,处理小数或者很长的数时使用。

int:

有符号32位整数,数值范围-2147483648~2147483647,处理整数时优先使用。

uint:

没有符号32位正整数,数值范围0~4294967295,处理正整数,适合处理颜色信息。

不要让Number、int、uint在运算时超出本身的数值范围,一旦超出则会出错,小数相加不一定得到整数。

数值差超过十几位就有可能出错。

4.数组:

Array

Array可以用来存储多个数据。

最常用的数据类型。

Array的快捷方式为:

[]。

ActionScrip3中,数组是以非负整数为索引的稀疏数组(sparsearray),不支持类型化数组(typedarray)。

以非负整数为索引值来访问数组元素,最多容纳4294967295个元素。

如果使用构造函数创建数组时只填写了一个数字,则编辑器默认为该数字为Array的长度。

5.Object对象及关联数组

Object可以作为集合来使用。

Object是通过名字来访问成员元素。

Object的快捷方式为:

{}。

Object的成员有两种:

一种是属性(Property),用来存放各种数据。

一种是方法(Method)存放函数对象。

Object的成员名字可以称为键(Key),成员被称为与这个键对应的值(Value)。

当知道Object成员名字时候,可以使用点号运算符“.”或者数组运算符“[]”来访问这个成员。

点号运算符不支持变量访问。

如果需要变量访问则需要使用数组运算符“[]”。

2.4null、NaN、undefined几个字应用对象:

变量的默认值

声明变量时候如果没有赋值,则FlashPlayer会给变量一个值。

这个值就是变量的默认值。

数据类型

默认值

Boolean

false

String

null

Number

NaN

int

0

uint

0

Array

null

Object

null

未声明类型

undefined

*

undefined

Array、Object和其他FlashPlayer内置类或者自定义类的默认值都是null(空)。

NaN为NotaNumber(不是一个数)的缩写。

undefined是未定义类型的变量默认值。

2.5运算符、表达式及运用

运算符(Operator)必须有运算对象(Operand)才可以进行运算。

运算符和运算对象的组合,称为表达式。

每个表达式都产生一个值,这个值就是表达式的值。

运算符本身是一个特殊的函数,运算对象是它的参数,运算结果是它的返回值。

每一个表达式是单个运算符函数的组合,则表达式为一个组合的特殊函数,表达式的值就是这个特殊函数的返回值。

1.基本的赋值运算符和算数赋值运算符:

=、+=、-=、*=、/=、%=、++、--。

=运算符是最常用的运算符。

它将右边的值(右值rvalue)赋值给左边的变量。

+=、-=、*=、/=、%=都是将左边的变量和右边的值进行运算之后再将得到的值赋给左边的变量。

++、--是将变量加上或者减去1之后将得到的值赋给变量。

2.算数运算符:

+、-、*、/、%、-(求反)

+、-、*、/不多说。

模运算符(%)就是数学中的除法取余数,也就是说运算后得到值为除不尽的余数。

如果模运算的运算对象不是整数则有可能出现一些以外的小数。

求反运算符(-)就是给运算对象前面加上一个负号。

负负得正,负正得负。

3.关系运算符:

==、!

=、===、!

==、<、<=、>、>=

对于基元数据类型,如果等式两边值相同,即可判断为相等。

但如果是复杂数据类型,那么判断相等的不是等号两边的值,而是判断等式两边的引用是否相等。

“==”、“!

=”和“===”、“!

==”的区别,在于“==”和“!

=”在判断时候会将等式两边值强制转换为同一类型。

“===”和“!

==”在判断时候不会将等式两边值强制转换为同一类型,如果等式两边数据类型不同则一定会返回false。

4.逻辑运算符:

&&、||、!

逻辑AND运算符&&就是和的意思。

当两边表达式的值都为true时,逻辑运算符&&才会返回true。

逻辑OR运算符||就是或者的意思。

当两边表达式的值任意一个为true时,逻辑运算符||才会返回true。

逻辑NOT运算符!

,对运算对象的Boolean取反。

用法:

!

运算对象。

5.三元if...else运算符

if...else运算符又叫做条件运算符,它是唯一的一个三元运算符。

if...else常见使用方式:

(条件表达式)?

(流程2):

(流程3);//这个是简洁写法

6.特殊运算符:

typeof、is、as

typeof是用字符串返回对象的数据类型。

typeof对象类型与返回结果对照表:

对象类型

返回结果

Boolean

boolean

String

string

Number

number

int

number

uint

number

Array

object

Object

object

Function

function

XML

xml

XMLList

xml

is判断对象是否属于某数据类型。

返回值为Boolean类型,true代表属于,false代表不属于。

as判断对象是否属于某数据类型。

是,则返回对象。

否,则返回null(空)。

7关键字:

in、delete

in关键字用来判断对象是否是另一个对象的键(Key)或索引,返回值为Boolean类型,存在返回true,不存在返回false。

delete关键字用来删除对象的动态实例属性。

如果给对象赋值为null,则可以删除该对象所持有的引用。

2.6ActionScript3的保留字

ActionScript3的保留字分为三类:

词汇关键字(lexicalkeywords)、语法关键字(syntactickeywords)、为将来预留的词(futurereservedwords)。

1.词汇关键字(共45个)

as

break

case

catch

class

const

continue

default

delete

do

else

extends

false

finally

for

function

if

implements

import

in

instanceof

interface

internal

is

native

new

null

package

private

protected

public

return

super

switch

this

throw

to

true

try

typeof

use

var

void

while

with

2.语法关键字(共10个)

each

get

set

namespace

include

dynamic

final

native

override

static

3.为将来预留的词(共22个)

abstract

boolean

byte

cast

char

debugger

double

enum

export

float

goto

intrinsic

long

prototype

short

synchronized

throws

to

transient

type

virtual

colatile

 

第3章ActionScript3流程控制

3.1最基本的流程控制语句:

if...else

if...else是ActionScript3中最基本的流程控制语句。

常用的三种形式:

if、if...else、if...elseif...else。

if...else的精简写法:

if(条件表达式)流程a;

else流程b;

再使用if...elseif...else时候应尽量将最有可能或者最精确的数字放在前面的条件表达式里。

3.2循环

ActionScript3中的循环语句:

while、do...while、for、for...in、foreach...in。

循环包括:

循环内容、循环变量及初始化、循环条件、步进。

1.while

循环while表示:

当条件表达式满足的时候,执行循环体。

while的结构:

while(条件表达式){

循环体;

}

2.do...while

循环do...while与while基本相同,只不过do...while是先执行循环体,再判断条件表达式。

所以do...while至少循环一次。

do...while的结构:

do{

循环体;

}

while(条件表达式)

3.for

for很灵活,所以应用广泛。

for的结构:

for(初始化;循环条件;步进){

循环体;

}

for的灵活性在于,只要保证循环能终止和循环,括号中的初始化、循环条件、步进可以放在任何地方。

且通过使用逗号(,)可以在for中加入多条语句。

4.for...in和foreach...in

循环for...in和foreach...in语句用来枚举一个集合中的所有元素。

普通数组、MXL或者XMList、拥有可枚举属性的对象都可以看成集合、

for...in的结构:

for(var枚举变量in枚举对象){

//其他语句

}

for...in的枚举变量为枚举对象的成员名字。

如果要访问枚举对象的成员,需要通过:

[枚举变量]。

foreach...in的结构:

foreach(var枚举变量in枚举对象){

//其他语句

}

foreach...in的枚举变量为枚举对象的成员。

如果要访问枚举对象的成员名字,则只能使用for...in。

但是通常情况下不需要知道成员的名字。

3.3控制循环:

break和continue

break和continue用来控制循环流程,都在循环体内使用。

break用来结束循环,不再执行循环。

continue用来终止当前一轮的循环,直接跳到下一轮循环。

如果碰到多重循环可以使用break和continue的标签用法来灵活控制各层的循环。

break和continue的标签用法:

break标签;//在每一层循环语句上一行写上(标签:

)。

continue标签;//再通过break和continue的标签用法控制多重循环的目的。

3.4分支选择判断:

switch...case...default

分支判断就是将switch()括号中的值或表达式和各个case分支中的值或表达式相比较,如果相等则执行该分支以下的所有代码,直到遇到break或者default为止。

如果没有找到相等的则执行default分支。

switch...case...default的用法:

switch(值或表达式){

case值或表达式:

//执行的代码;

case值或表达式:

//执行的代码;

default:

执行的代码;

}

在一定情况下分支判断比if...else更加符合逻辑而且更加简洁。

 

第4章ActionScript3中的函数及高级使用技巧

4.1函数的概念

函数(function)是执行特定任务并可以在程序中重用的代码块。

ActionScript3中函数分为方法(Method)和函数闭包(Functionclosures)两类。

方法就是在类中的函数或者将它与某个对象绑定。

4.2函数语句定义法和函数表达式定义法

函数有两种定义法,一种是函数语句定义法,另一种是ActionScript3特有的函数表达式定义法。

1.函数语句定义法

函数语句是常用的函数使用形式。

函数语句属于密封类,拥有标准和简洁的特征。

函数语句定义的函数的类型是MrthodClosure。

使用function关键字声明。

使用函数语句定义法,this会牢牢指向函数当前定义的域。

函数语句定义法的格式:

function函数名(参数1:

数据类型,参数2:

数据类型):

返回值类型{

//其他语句

}

2.函数表达式定义法

函数表达式定义法是ActionScript3特有的一中定义方法。

函数表达式属于动态类,拥有灵活的特征,但是同样也拥有编译时不会被提升(hoisting)的缺点。

函数表达式定义的函数的类型是Function-1...Function-N。

使用var加上function关键字声明。

使用函数语句定义法,this会随着函数附着对象不同,而改变指向。

函数表达式定义法的格式:

var函数名:

Function=function(参数1:

数据类型,参数2:

数据类型):

返回值类型{

//其他语句

}

4.3函数的参数

ActionScript3中一旦函数定义好参数类型和个数,那么在调用时参数类型和个数必须相符,否则编译报错。

但是可以使用...(rest)来实现参数的灵活性,rest是推荐的命名。

1.按值还是按引用传入参数

在ActionScript3中函数的参数都是按引用来传入的。

2.参数的默认值

在ActionScript3中参数可以设置默认值,如果调用函数时候没有写明参数,那么会调用该参数的默认值代替。

3.arguments和...rest

在函数中传入的参数都被保存在自动生成的arguments对象中。

如果在函数参数中定义了...rest,则所有传入的参数都被保存在...rest对象中。

可以通过[]来访问传入参数。

arguments和...rest对象都拥有属性length和callee。

length表示传入的参数数目。

callee持有指向当前函数的引用,常常用来创建递归。

4.4返回值或表达式:

return

return用来在函数中返回值或表达式,也可以用来控制函数中的流程。

4.5函数高级使用技巧

1.代理函数对象

建立一个代理函数对象,根据不同的条件,将它指向不同的函数。

2.建立函数执行列表

如果要对一个对象根据不同的情况对它执行不同的一系列操作。

则可以建立一个数组将操作的步骤(即函数)添加到该数组。

通过for循环将要操作的对象传入数组中的函数(即操作的步骤)中。

这样就达到了函数执行列表的目的。

还可以改变数组的顺序等等达到不同的操作目的。

3.利用函数返回函数

建立一个函数根据传入的参数不同,返回不同方法。

4.函数对象动态添加实例属性(函数表达式)

因为函数表达式是动态类,所以可以动态添加属性,编译器无法检查动态属性的类型。

5.函数对象动态添加实例方法(函数表达式)

因为函数表达式是动态类,所以可以动态添加方法,

 

第二部分ActionScript3面向对象编程

第5章类和对象——从定义到原理

5.1Class(类)和Object(对象)

OOP就是面向对象编程,其英文为“Object-OrirntedProgramming”。

面向过程编程,是将程序看成一个个步骤。

而面向对象编程,是将程序看成一个个不同功能的部件在协同工作。

Class(类)就是用户来描述这些部件的数据结构和行为方式,而Object(对象)就是这些具体的部件。

5.2Class和Object的权威定义

对象的定义:

一个对象有自己的状态、行为和唯一的标识。

所有相同类型的对象所具有的结构和行为在他们共同的类中被定义。

状态(state),包括这个对象已有的属性(通常是类里面已经定义好的)再加上对象所具有的当前属性值(这些属性值往往是动态的)。

行为(behavior)是指一个对象如何影响外界及被外界影响,表现为对象自身状态的改变和信息的传递。

标识(identity)是指一个对象所具有的区别于所有其他对象的属性。

可以理解为该对象在内存中地址的引用。

一个对象对外部公开的属性和方法简称为对外接口(Interface)。

5.3Class和Object的创建和使用

Class的构成如下:

package包路径{

//这里使用import关键字导入所需的类

class类名{

//静态属性

//静态方法

//实例属性

//构造函数(构造函数名必须和类名相同)

//实例方法

}

}

5.4Class和Object的创建和使用

Class和Object的创建和使用很简单。

但要注意的是创建类的实例的时候一定要用“:

”(type运算符)声明对象的类型。

还有就是new关键字后面跟的是Class的构造函数。

如果将类构造函数的引用赋值给一个变量,那么使用这个变量也可以创建该类的实例。

如下:

importflash.display.Sprite;

vara=flash.display.Sprite;

varb=newa();

trace(bisSprite);

//但要注意这时候该变量a和b在赋值时不能

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2