《Flash ActionScript 30编程技术》课程简明教程.docx
- 文档编号:14106920
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:86
- 大小:92.40KB
《Flash ActionScript 30编程技术》课程简明教程.docx
《《Flash ActionScript 30编程技术》课程简明教程.docx》由会员分享,可在线阅读,更多相关《《Flash ActionScript 30编程技术》课程简明教程.docx(86页珍藏版)》请在冰点文库上搜索。
《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{
import
publicclassWelcomeextendsSprite{
publicfunctionWelcome(){
trace("WelcomeYou");
}
}
}
模块2ActionScript3.0编程语言基础
2.1AS3.0语法
2.1.1点语法
1)可以采用对象后面跟点运算符的属性名称(方法)名称来引用对象的属性(方法)。
2)可以采用点运算符表示包路径。
3)可以使用点运算符描述显示对象的路径
实例
package
import;
import;
import;
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)
数据范围:
-48(-231)~48(231-1)
2.3.2无符号整型(uint)
数据范围:
0~95(232-1)
2.3.3数值型(Number)
数据范围:
1.486231e+308~4.8412467e-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==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 *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语言中表达式 -2 例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;i<10;i++){ //循环语句2 for(varj: int=1;j<=i;j++){ //循环体 varlabel: TextField=newTextField(); label.text=i+"×"+j+"="+i*j; label.x=5+50*i; label.y=20*j; addChild(label); } } //在FlashPlayer中显示99乘法表 模块4函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flash ActionScript 30编程技术 Flash ActionScript 30编程技术课程简明教程 Flash 30 编程 技术 课程 简明 教程