As3学习笔记.docx
- 文档编号:27608476
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:18
- 大小:162.06KB
As3学习笔记.docx
《As3学习笔记.docx》由会员分享,可在线阅读,更多相关《As3学习笔记.docx(18页珍藏版)》请在冰豆网上搜索。
As3学习笔记
As3学习笔记
第零节Flash软件基本操作
Flash软件可以做什么?
0.1软件界面介绍与基本工具使用
0.2Flash动画基本概念
0.3补间动画制作
补间动画:
1.传统补间动画:
(动画对象是元件)
2.补间形状动画:
(动画对象是散件)
常用快捷键:
F7:
创建一个空白关键帧
F6:
创建一个关键帧,并且和上一个关键帧的图案相同
F5:
加帧(在补间中)
shift+F5:
减帧(在补间中)
第一章AS3语法基础
第一节AS3语言介绍与开发环境
1.1Flash、AS3、FlashPlayer、AIR简介
1.2开发工具介绍
1.3AS3程序一般流程:
HelloWorld
第二节变量与常量
程序中的数据是如何保存呢?
2.1如何声明变量和常量
//声明变量
varage:
int=23;
//关键字var创建一个变量
/变量名age变量名字特意有指向性的含义
//数据类型int指定变量所记录数据是什么类型
//赋值运算符=给变量指定数据记行记录
//值23变量所记录的数据本身的内容
age=26;
trace(age);
varname:
String;
name="NPC";
//常量
constMAX_AGE:
int=120;
//关键字const创建一个常量
/常量名MAX_AGE常量名字特意有指向性的含义
//数据类型int指定常量所记录数据是什么类型
/赋值运算符=给常量指定数据进行记录
/值23常量所记录的数据本身的内容
2.2变量常量的命名规则
//变量的命名规则驼峰式命名规则
//1.如果存多个单词的变量名第一个单全部小写
//2.第二个单词头字母大写后续字母小写
//3.第N个单头字母大写后续字母小写
//变量名头字符充许或者或者小写字母
//不充许头字符采用数字进行命名
varherolame:
String=\"ZERO\";
varheroMaxAtk:
int=120;
varherql:
int=32;
//varheromaxatk:
int=130;X
//常量命名规则
constHERO_MAX_GRID:
int=100;
2.3变量常量的用途和适用场合
hero.x=300;
hero.x=0;
//变量是记录程序运当中的数据
varheroPosition:
Number=300.45;
heroPosition=150;
hero.x=heroPosition;
/变量是运行变化(充许重新赋值)
/常量一经声明赋值之后不充许重新赋值
constHERO_NAME:
String="张飞";
trace(HERO_NAME);
2.4变量的本质
就是内存中的一个具体盒子(位置),内容是可以变换的。
第三节数据类型
程序中的各种数据是如何进行分类的?
3.1基元数据类型介绍
3.1.1int:
表示整数
3.1.2uint:
表示非负整数
3.1.3Number:
表示浮点数
3.1.4String:
表示字符串
3.1.5Boolean:
表示布尔值
varifWin:
Boolean=false;
varsex:
Boolean=true;//true:
男false:
女
//int:
整型
vara:
int;
trace(a);
//uint:
非负整数
varb:
uint;
trace(b);
//Number:
浮点数
varc:
Number;
trace(c);
//string:
字符串
vard:
String;
trace(d);
//Boolean:
1
vare:
Boolean
3.2使用各种数据类型的注意事项
//1.数据类型必须与变量值相吻合
//vara:
int=“hello”;
//varb:
int=4.8;
//trace(b);
//2.数值型的使用注意事项
//a.注意数值型的取值范围
varc:
uint;
c-一;
trace(c);
//b.整数条件下优先使用int,uint
varage:
int=23;
//c.注意运算结果的数据类型
varpa:
int=5:
varpb:
int=3;s
varpc:
Number;
pc=pa/pb;
trace(pc);
3.3数据类型的相互转化
//1.Number转化为int:
且接舍去小数部分
vara:
int=4.9;
trace(a);
//2.int型与布尔值的转化0:
false非0:
true
varb:
Boolean=Boolean(0);
trace(b);
//3.string与int的转换
varc:
String=String(123);
c+=“abc”;
trace(c);
vard:
int=int(“55”):
trace(d);
d++;
trace(d);
//4.进制转换与精确小数位数
varf:
int=100;
trace(f.toString(16));//按N进制进行输出
varg:
Number=57.658;
trace(g.toFixed
(2)):
/精确到N位小数
3.4复杂数据类型简单介绍
//1.数组介绍
vararr:
Array=[“a”,”b”,”c”.”d]:
trace(arr);
trace(arr.length);
trace(arr[o]);
trace(arr[3]);
//2.对象介绍
varstudent:
Object={name:
”Tom”,age:
18,sex:
”男”};
trace(student.name);I
trace(student[“age”]);
//3.值类型(简单数据类型)和引用类型(复杂数据类型)
vara:
int=3;
varb:
int=a;
b++;
trace(a);
trace(b);
ararrA:
Array=[1,2,3];
vararrB:
Array=arrA;
trace(arrA);
trace(arrB);
arrB.push(4);
trace(arrB);
trace(arrA);
3.4.1Array简单介绍
3.4.1Object简单介绍
3.4.1值类型与引用类型
第五节流程控制
如何让程序执行选择性的工作或者重复性的工作呢?
5.1条件语句
5.1.1if选择
if(a>0)
trace(“这是一个正数”);
trace(“hello”);
//2.if-else语句
if(a%2==0)
trace(“这是一个偶数”);
else
trace("这是一个奇数");
}
elseif(grade==2)
trace("我很上进");
elseif(grade==3)
trace("我很努力");
else
trace(”我有一丝小激动”);
//4.if-elseif-else注意点
varscore:
int=78;
if(score>=90)
{
trace(“优秀”)
elseif(score>=75)
trace(“良好”);
elseif(score>=60)
trace(“及格”);
else
trace(”不合格”);
}
//2.if-else语句
if(a%2==0)
{
trace(“这是一个偶数”);
else
trace(“这是一个奇数”);
//3if-elseif-else语句
vargrade:
int=1;
if(grade==1)
trace(“我很快乐”);
elseif(grade==2)
}
5.1.2switch选择
varlv:
int=40}
switch(lv)
{
case1:
trace(”初出茅庐”);
break;
case2:
trace(”小有所成”);
break;
case3:
trace("杀敌过百");
break;
default:
trace("等级非法");
5.2循环语句
5.2.1for循环
5.2.2while循环与do-while循环
}
5.3break与continue的用法
5.1.1break用法
5.1.2continue用法
5.4条件语句与循环语句的嵌套
/双重选择:
男女身高鉴定
varsex:
String="男”;
varh:
Number=1.78;
if(sex==("男")
{
trace("这是一个男生");
if(h>1.8)
trace("这是一个高个子男生");
else
trace("这是一般男生;
else
trace(“这是一个女生");
}
//双重循环,绘制星星
for(vari:
int=0;i<4;i++)/行数
{
varstr:
String="";
for(varj:
int=0;j j++) { str+="*”;∥列数 } trace(str); } //循环判断的嵌套: 计算1到100之间所有偶数的和 varnum: int; for(vark: int=1;k<=100;k++) { if(k%2==0) num+=k; } trace(num); 第六节函数 我想写更少的代码做更多的事情! 6.1函数的声明与调用 //函数: 执行特定功能并且可以重复利用的代码块 vara: int=2; //函数的声明 functionsay(): void { trace("我是高飞"); trace("我来自杭州"); } say(); say(); 6.2函数的形参与实参 //求1+2+3....n functionadd(n: int): void { varnum: int; for(vari: int=1;i<=n;i++) { num+=i; } trace("和为: "+num); } add(10); add(100); /*形参: 不关心变量名是什么,关心的是参数的个数和类型.实参: 具体的、实际的参数。 本实例中,n为形参,10、100为实参*/ 6.3函数的返回值 /∥求2个数的最大值 /*return: 返回函数运行的结果,并且跳出函数*/ /*return后面的数据类型必须与函数的返回值类型相匹配*/ functionmax(a: int,b: int): int { if(a>=b) { returna; } else { returnb; } trace("hello"); vart: int=max(2,5)+max(20,50); trace(\"t的值为: \"+t); //购买商品案例 /*return: 可以在适当的时候,控制整个函数的流程*/ functionbuy(price: int): void { if(price>=50) { trace(“无法购买"); return; } trace("购买成功"); trace("玩家得到商品"); trace("玩家金币数减少"); } buy(200); functionsayHello): void { trace("hello"); } sayHello(); 6.4函数的嵌套使用 //求1! +2! +3! +..n! functionfactor(n: int): int { varnum: int=1; for(vari: int=1;i<=n;i++) { num*=i; } returnnum; } //trace(factor(4)); functionadd(n: int): int { varsum: int=0; for(vari: int=1;i<=n;i++) { sum+=factor(i); } returnsum; } trace(add(5)); 第七节显示对象初步学习 终于可以用代码控制元件了! 7.1影片剪辑 trace(box.x);//输出box的横坐标 trace(box.y);输出box的纵坐标 box.x=200;//指定横坐标 box.y=100;//指定纵坐标 box.width=30;//指定宽度 box.height=50;//指定高度 box.scaleX=2;//横向缩放2倍 box.scaleY=2;//纵向缩放2倍 box.alpha=0.4;//设定透明度 box.rotation=15;//设定旋转角度 box.stop();//停止 box.playO;//播放 box.gotoAndStop(6);//到第6帧停止 box.gotoAndPlay(8);//从第8帧播放 box.gotoAndStop(\"green\");//到“green”标签停止 7.2文本 7.2.1静态文本 7.2.2动态文本 7.2.3输入文本 第八节简单事件 我可以控制Flash里小人的走动了! 8.1鼠标事件 importflash.events.MouseEvent;//载入鼠标事件包 box.addEventListener(MouseEvent.CLICK,onClick);//建立鼠标点击侦听器 box.addEventListener(MouseEvent.MOUSE_DOWN,onDown);//建立鼠标按下侦听器 box.addEventListener(MouseEvent.MOUSE_UP,onUp);//建立鼠标抬起侦听器 functiononClick(e: MouseEvent): void//鼠标点击时运行函数 { trace(”点击"); } functiononDown(e: MouseEvent): void//鼠标按下时运行函数 { Trace("按下"); } functiononUp(e: MouseEvent): void//鼠标抬起时运行函数 { trace("抬起"); } box.addEventListener(MouseEvent.MOUSE_MOVE,onMove);//鼠标在里面移动 box.addEventListener(MouseEvent.MOUSE_OVER,onOver);//鼠标划入 box.addEventListener(MouseEvent.MOUSE_OUT,onOut);//鼠标划出 functiononMove(e: MouseEvent): void { trace("鼠标在里面移动"); } functiononOver(e: MouseEvent): void { trace("鼠标划入"); } functiononOut(e: MouseEvent): void { trace("鼠标划出"); } 8.2键盘事件 importflash.events.KeyboardEvent; stage.addEventListener(KeyboardEvent.KEY_DOWN,onDown); stage.addEventListener(KeyboardEvent.KEY_UP,onUp); functiononDown(e: KeyboardEvent): void { varcode: String=String.fromCharCode(e.keyCode); //trace("键值: "+e.keyCode); //trace("按下"+code); //控制影片剪辑移动 if(code=="A") { box.x-=5; } elseif(code=="D") { box.x+=5; } elseif(code=="W") { box.y-=5; } elseif(code=="S") { box.y+=5; } 8.3帧循环事件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- As3 学习 笔记