《Flash ActionScript 30编程技术》课程简明教程.docx

上传人:b****5 文档编号:7648462 上传时间:2023-01-25 格式:DOCX 页数:81 大小:413.96KB
下载 相关 举报
《Flash ActionScript 30编程技术》课程简明教程.docx_第1页
第1页 / 共81页
《Flash ActionScript 30编程技术》课程简明教程.docx_第2页
第2页 / 共81页
《Flash ActionScript 30编程技术》课程简明教程.docx_第3页
第3页 / 共81页
《Flash ActionScript 30编程技术》课程简明教程.docx_第4页
第4页 / 共81页
《Flash ActionScript 30编程技术》课程简明教程.docx_第5页
第5页 / 共81页
点击查看更多>>
下载资源
资源描述

《Flash ActionScript 30编程技术》课程简明教程.docx

《《Flash ActionScript 30编程技术》课程简明教程.docx》由会员分享,可在线阅读,更多相关《《Flash ActionScript 30编程技术》课程简明教程.docx(81页珍藏版)》请在冰豆网上搜索。

《Flash ActionScript 30编程技术》课程简明教程.docx

《FlashActionScript30编程技术》课程简明教程

《FlashActionScript3.0编程技术》课程简明教程

浙江外国语学院石其乐

 

模块1ActionScript3.0概述

1.1AdobeFlashCS5写入ActionScript3.0代码的方法

AdobeFlashCS5两种写入ActionScript3.0代码的方法:

在时间轴的关键帧加入ActionScript代码(动作面板介绍)

trace("Welcomeyou");

在外部写出一个单独的ActionScript类文件,然后绑定或者导入到fla文件中

(类的3种用法:

和fla文件绑定、和Flash中的库元件绑定、使用import关键字导入类)

和fla文件绑定(目的是为了AS代码和Flash设计完全剥离)(脚本窗口介绍)

实例

package{

importflash.display.Sprite

publicclassWelcomeextendsSprite{

publicfunctionWelcome(){

trace("WelcomeYou");

}

}

}

 

模块2ActionScript3.0编程语言基础

2.1AS3.0语法

2.1.1点语法

1)可以采用对象后面跟点运算符的属性名称(方法)名称来引用对象的属性(方法)。

2)可以采用点运算符表示包路径。

3)可以使用点运算符描述显示对象的路径

实例

packagecom.lzxt.display{

importflash.display.DisplayObjectContainer;

importflash.display.Sprite;

importflash.text.TextField;

publicclassAddTextSpriteextendsSprite{

publicfunctionAddTextSprite(){

//创建空容器

varsp:

Sprite=newSprite();

sp.x=50;

sp.y=50;

addChild(sp);

//创建文本对象

varmytext:

TextField=newTextField();

mytext.text="这是一个位于容器中的显示文本";

mytext.width=200;

//显示对象

sp.addChild(mytext);

}

}

}

2.1.2标点符号使用

分号(;)\逗号(,)\冒号(:

)\小括号(())\中括号([])\大括号({})

实例1

vardate:

Date=newDate();

varhh:

int=date.getHours();

if((hh>=0)&&(hh<=4)){

trace("深夜了,注意身体,该休息了!

");

}elseif((hh>=4)&&(hh<7)){

trace("清晨好,这麽早就上网呀?

");

}elseif((hh>=7)&&(hh<12)){

trace("早上好,一天之际在于晨,又是美好的一天!

");

}elseif((hh>=12)&&(hh<=13)){

trace("该吃午饭啦!

有什麽好吃的?

");

}elseif((hh>=13)&&(hh<=17)){

trace("外面的天气很热吧?

心静自然凉!

");

}elseif((hh>=17)&&(hh<=18)){

trace("太阳落山了!

快看看夕阳吧!

");

}elseif((hh>=18)&&(hh<=19)){

trace("吃过晚饭了吗?

");

}elseif((hh>=19)&&(hh<=23)){

trace("一天过的可真快!

今天过的好吗?

");

}

实例1

vararr:

Array=[1,2,3];

trace(arr[0]);

2.1.3注释

单行注释

多行注释

实例

/*单击以搜寻提示点(需要FLVPlayback组件)

单击此指定的元件实例会在指定的FLVPlayback组件实例中搜寻视频的提示点。

说明:

1.用您要搜寻的FLVPlayback组件的实例名称替换以下video_instance_name。

2.用要搜寻的提示点的名称替换以下"CuePoint1"。

保留引号("")。

*/

cp1.addEventListener(MouseEvent.CLICK,fl_ClickToSeekToCuePoint);

functionfl_ClickToSeekToCuePoint(event:

MouseEvent):

void

{

//用此视频组件的实例名称替换video_instance_name。

//用要搜寻的提示点的名称替换"CuePoint1"。

varcuePointInstance:

Object=myvideo.findCuePoint("提示点1");

myvideo.seek(cuePointInstance.time);

}

/*单击以搜寻提示点(需要FLVPlayback组件)

单击此指定的元件实例会在指定的FLVPlayback组件实例中搜寻视频的提示点。

说明:

1.用您要搜寻的FLVPlayback组件的实例名称替换以下video_instance_name。

2.用要搜寻的提示点的名称替换以下"CuePoint1"。

保留引号("")。

*/

cp2.addEventListener(MouseEvent.CLICK,fl_ClickToSeekToCuePoint_2);

functionfl_ClickToSeekToCuePoint_2(event:

MouseEvent):

void

{

//用此视频组件的实例名称替换video_instance_name。

//用要搜寻的提示点的名称替换"CuePoint1"。

varcuePointInstance:

Object=myvideo.findCuePoint("提示点2");

myvideo.seek(cuePointInstance.time);

}

/*单击以搜寻提示点(需要FLVPlayback组件)

单击此指定的元件实例会在指定的FLVPlayback组件实例中搜寻视频的提示点。

说明:

1.用您要搜寻的FLVPlayback组件的实例名称替换以下video_instance_name。

2.用要搜寻的提示点的名称替换以下"CuePoint1"。

保留引号("")。

*/

cp3.addEventListener(MouseEvent.CLICK,fl_ClickToSeekToCuePoint_3);

functionfl_ClickToSeekToCuePoint_3(event:

MouseEvent):

void

{

//用此视频组件的实例名称替换video_instance_name。

//用要搜寻的提示点的名称替换"CuePoint1"。

varcuePointInstance:

Object=myvideo.findCuePoint("提示点3");

myvideo.seek(cuePointInstance.time);

}

2.1.4关键字和保留字

2.1变量和常量

 

变量必须要先声明后使用

2.2.1声明变量的语法

var变量名:

数据类型;(例如:

vara:

int)

var变量名:

数据类型=值;(例如:

vara:

int=10)

2.2.2变量的命名规则

1)它必须是一个标识符。

它的第一个字符必须是字母、下划线(_)或美元记号($)。

其后的字符必须是字母、数字、下划线或美元记号。

注意:

不能使用数字作为变量名称的第一个字母。

2)它不能是关键字或动作脚本文本,例如true、false、null或undefined。

特别不能使用ActionScript的保留字,否则编译器会报错。

3)它在其范围内必须是唯一的,不能重复定义变量。

2.2.3变量的作用域

实例全局变量和局部变量

vari:

int=10;

trace("函数使用前访问变量i:

"+i);

functionTest(){

vari:

int=1;

trace("函数体内访问变量i:

"+i);

}

Test();

trace("函数体使用后访问变量i:

"+i);

/*

输出:

函数使用前访问变量i:

10

函数体内访问变量i:

1

函数体使用后访问变量i:

10

*/

2.2.4变量的默认值

实例

varp:

Boolean;

trace("Boolean型变量的默认值是:

"+p);

vari:

int;

trace("int型变量的默认值是:

"+i);

varj:

Number;

trace("Number型变量的默认值是:

"+j);

varobj:

Object;

trace("Object型变量的默认值是:

"+obj);

varstr:

String;

trace("String型变量的默认值是:

"+str);

varu:

uint;

trace("uint型变量的默认值是:

"+u);

varv:

*;

trace("*型变量的默认值是:

"+v);

/*

Boolean型变量的默认值是:

false

int型变量的默认值是:

0

NUmber型变量的默认值是:

NaN

Object型变量的默认值是:

null

String型变量的默认值是:

null

uint型变量的默认值是:

0

*型变量的默认值是:

undefined

*/

2.2.5使用const声明常量

const常量名:

数据类型;

const常量名:

数据类型=值;(例如:

constg:

Number=9.8)

2.3基础数据类型

基础数据类型:

int、uint、Number、Boolean和String

2.3.1整型(int)

数据范围:

-2147483648(-231)~2147483648(231-1)

2.3.2无符号整型(uint)

数据范围:

0~4294967295(232-1)

2.3.3数值型(Number)

数据范围:

1.79769313486231e+308~4.940656458412467e-324

注:

整数运算时优先使用int、uint

整数有正负之分时,使用int

只有正整数,使用uint

带小数的数值使用Number

2.3.4布尔型(Boolean)

两个值

true(真)

false(假)

 

实例

varb:

Boolean;

trace(b==0);//输出:

true

b=true;

trace(b==1);//输出:

true

2.3.5字符串型(String)

实例1

varstr:

String="welcome";

trace(str);

实例2转义字符

varstr:

String="我的名字是:

\"石其乐\"。

\n我的职业是:

\"教师\"。

";

trace(str);

2.4运算符与表达式

*学习运算符时应注意以下几点:

1.运算符的功能

2.与运算量的关系(要求运算量的个数,要求运算量的类型)

3.运算的优先级别例:

+-*/

4.结合方向例:

3*5/6a=b=c=5

2.4.1双元算术运算符

*ActionScript3.0编程语言中有5个双元算术运算符

+、-、*、/、%(求余)结合方向:

左结合

2.4.2自反算术赋值运算符

*一般说双元运算表达式呈下面的形式:

c=aOPb

例如:

c=a+b

a=a+b---->a+=b

*a+=b这种运算实际上是算术运算符与赋值运算符的合成或简化,

称为:

自反算术赋值运算符

a=a-b---->a-=b

a=a*b---->a*=b

a=a/b---->a/=b

a=a%b---->a%=b

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

2.4.2自加自减运算符

i=i+1---->i+=1

i=i-1---->i-=1

后缀形式前缀形式

自加i++++i

自减i----i

先使用后增值

vara:

int;

varb:

int;

vari:

int=5;

a=i++;

b=i;

trace("a="+a,"b="+b);

输出:

a=5b=6

先增值后使用

vara:

int;

varb:

int;

vari:

int=5;

a=++i;

b=i;

trace("a="+a,"b="+b);

输出:

a=6b=6

 

2.4.3关系运算

ActionScript3.0编程语言中提供的关系运算符有:

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

=

优先级别:

后两个小于前四个

结合方向:

左结合

 

例:

c>a+b---->c>(a+b)

c>b!

=c---->(a>b)!

=c

a==ba==(b

a=b>c---->a=(b>c)

*关系表达式的值只有两个:

关系表达式成立为真,以“true”表示

关系表达式不成立为假,以“false”表示

例:

vara:

int=2;

Varb:

int=3;

1)a==b的值为false

2)a

3)3-1>=a+1<=b+2的值true

过程:

3-1>=a+1<=b+2

2>=3<=5

0<=5

2.4.4逻辑运算

*ActionScript3.0编程语言中有三个逻辑运算符:

&&、||、!

优先级别:

高于&&、||

结合方向:

左结合

 

实例

vara:

int=1;

varb:

int=-1;

trace(a>0);//输出:

true

trace(b<0);//输出:

true

trace(a>0&&b<0);//输出:

true

trace(true&&false);//输出:

false

trace(false&&false);//输出:

false

trace(b>0);//输出:

false

trace(a>0||b>0);//输出:

true

trace(true||true);//输出:

true

trace(false||false);//输出:

false

 

补充资料:

例1:

写出描述点A(x,y)落在图中兰色部分(不压线)的ActionScript语言中表达式

-21

例2:

设a=3,b=4,c=5写出下列各逻辑表达式的值

(1)a+b>c&&b==c

(2)a||b+c&&b-c

(3)!

(a>b)&&!

c||1

(4)!

(x=a)&&(y=b)&&0

(5)!

(a+b)+c-1&&b+c/2

2.4.5条件运算

 

*条件运算是一种在两个表达式的值中选择一个的操作

*一般形式为:

e1?

e2:

e3(3>4?

5:

6)

*条件运算符优先于赋值运算符

*条件运算符结合方向:

右结合

a>b?

a:

c>d?

c:

d

a>b?

a:

(c>d?

c:

d)

实例

vari:

int=11;

i>10?

trace("大于10了"):

trace("小于10了");

//输出:

大于10了

2.4.6其他运算符

1)typeof运算符(用于测试对象的类型)

typeof(对象)

例如:

trace(typeof(10))

2)is运算符(用于判断一个对象是不是属于一种数据类型,返回Boolean型变量。

trace(“5”isNumber);//输出false

3)as运算符

as运算符和is运算符的使用格式相同,但是返回的值不同。

如果对象的类型相同,返回对象的值;若不同,则返回null。

trace(“5”asNumber);//输出null

trace(“5”asString);//输出5

 

2.4.7运算符的优先级

运算符优先顺序表

运算符

主要

[]、{x:

y}、()、f(x)、newx.y、x[y]、<>、、@:

:

..

后缀

x++、x--

一元

++x、--x、+、-、~、!

、delete、typeof、void

乘法

*、/、%

加法

+、-

按位移位

<<、>>、>>>

关系

<、>、<=、>=、as、in、instanceof、is

等于

==、!

=、===、!

==

按位"与"

&

按位"异或"

^

按位"或"

|

逻辑"与"

&&

逻辑"或"

||

条件

?

:

赋值

=、*=、/=、%=、+=、-=、<<=、>>=、>>>=、&=、^=、|=

逗号

 

模块3ActionScript3.0程序设计

3.1程序的三种结构

3.1.1顺序结构

3.1.2选择结构

3.1.3循环结构

3.2选择程序结构

if..else条件语句

if..elseif..else语句

Switch语句

3.2.1if..else条件语句

基本格式

流程图

if(表达式){

 语句1;

}

else

 {

语句2;

}

实例1

vara:

uint=12;

if(a%2==0)

{

trace(a,"是偶数。

");

}

else

{

trace(a,"是偶数。

");

}

 

基本格式

流程图

if(表达式){

 语句

}

实例2

vara:

uint=12;

if(a%2==0)

{

trace(a,"是偶数。

");

}

 

3.2.2if..elseif..else语句

基本格式

if(表达式1){

语句1;

}

elseif(表达式2){

语句2;

}

elseif(表达式3){

语句3;

}

.

.

.

elseif(表达式n){

语句n;

}

else{

语句m;

}

流程图

实例

vardate:

Date=newDate();

varhh:

int=date.getHours();

if((hh>=0)&&(hh<=4)){

trace("深夜了,注意身体,该休息了!

");

}elseif((hh>=4)&&(hh<7)){

trace("清晨好,这麽早就上网呀?

");

}elseif((hh>=7)&&(hh<12)){

trace("早上好,一天之际在于晨,又是美好的一天!

");

}elseif((hh>=12)&&(hh<=13)){

trace("该吃午饭啦!

有什麽好吃的?

");

}elseif((hh>=13)&&(hh<=17)){

trace("外面的天气很热吧?

心静自然凉!

");

}elseif((hh>=17)&&(hh<=18)){

trace("太阳落山了!

快看看夕阳吧!

");

}elseif((hh>=18)&&(hh<=19)){

trace("吃过晚饭了吗?

");

}elseif((hh>=19)&&(hh<=23)){

trace("一天过的可真快!

今天过的好吗?

");

}

3.2.3switch语句

基本格式

switch(表达式){

case:

常量表达式1

程序语句1;

break;

case:

常量表达式2

程序语句2;

break;

.

.

.

case:

常量表达式n

程序语句n;

break;

default:

程序语句n+1;

}

流程图

实例

vardate:

Date=newDate();

vardd:

uint=date.getDay();

switch(dd){

case0:

trace("今天星期日");

break;

case1:

trace("今天星期一");

break;

case2:

trace("今天星期二");

break;

case3:

trace("今天星期三");

break;

case4:

trace("今天星期四");

break;

case5:

trace("今天星期五");

break;

case6:

trace("今天星期六");

break;

default:

trace("超出星期范围,是不可能的!

");

break;

}

 

3.3循环程序结构

3.3.1for循环语句

基本格式

流程图

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

 循环执行的语句;

}

实例

//初始化变量

varsum=0;

//下面是for循环

for(vari:

int=1;i<=100;i++){

sum=sum+i;//循环体

}

trace("sum="+sum);//输出结果

3.3.2while循环语句

基本格式

流程图

while(循环条件){

循环执行的语句

}

 

实例

//先初始化变量

vari:

int=0;

varsum:

int=0;

//下面是while循环

while(i<=100){

sum=sum+i;

i++;

}

trace("sum="+sum);

//输出:

sum=5050

3.3.3do…while循环语句

基本格式

流程图

do{

循环执行的语句

}while(循环条件)

实例

//初始化变量

vari:

int=0;

varsum:

int;

//循环语句

do{;

//循环体

sum+=i;

i++;

}while(i<=100);

//输出结果

trace("sum="+sum);

//输出:

sum=5050

3.3.4循环的嵌套

//循环语句1

for(vari:

int=1

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1