ActionScript20实例学习笔记.docx
- 文档编号:23321187
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:82
- 大小:42.06KB
ActionScript20实例学习笔记.docx
《ActionScript20实例学习笔记.docx》由会员分享,可在线阅读,更多相关《ActionScript20实例学习笔记.docx(82页珍藏版)》请在冰豆网上搜索。
ActionScript20实例学习笔记
按键
代码
按键
代码
按键
代码
Backspace
8
A
65
Num0
96
Tab
9
B
66
Num1
97
Enter
13
C
67
Num2
98
Shift
16
D
68
Num3
99
Ctrl
17
E
69
Num4
100
Alt
18
F
70
Num5
101
Pause/Break
19
G
71
Num6
102
CapsLock
20
H
72
Num7
103
Esc
27
I
73
Num8
104
Space
32
J
74
Num9
105
PageUp
33
K
75
Num*
106
PageDown
34
L
76
Num+
107
End
35
M
77
NumEnter
13
Home
36
N
78
Num-
109
←
37
O
79
Num.
110
↑
38
P
80
Num/
111
→
39
Q
81
F1
112
↓
40
R
82
F2
113
PrintScreen
44
S
83
F3
114
Insert
45
T
84
F4
115
Delete
46
U
85
F5
116
0)
48
V
86
F6
117
1!
49
W
87
F7
118
2@
50
X
88
F8
119
3#
51
Y
89
F9
120
4$
52
Z
90
F10
121
5%
53
F11
122
6^
54
F12
123
7&
55
8*
56
9(
57
转义字符
\b
\f
\n
\r
\t
\ "
\'
\\
字符
退格符(ASCII8)
换页符(ASCII12)
换行符(ASCII10)
回车符(ASCII13)
制表符(ASCII9)
双引号
单引号
反斜杠
运算符
运算符
+
-
*
/
%
++
--
执行的运算
加法
减法
乘法
除法
取余数
递增
递减
3.
比较运算符
<
>
<=
>=
==
===
!
=
!
==
执行的运算
小于
大于
小于等于
大于等于
等于
严格等于
不等于
严格不等于
字符串运算符+
+进行连接时,对于不是字符串类型的数值,先将其转换成字符串,再进行连接。
如果要将两个数字类型的数字进行连接,可以借助空字符串
例:
m=12+34;
n=""+12+34
trace("m="+m+"\nn="+n)//输出结果m=46换行n=1234
.
逻辑运算符
!
&&
‖
名称
逻辑非
逻辑与(并且)
逻辑或(或者)
意义
返回相反的结果
两个均为true时结果为true
一个为true时,结果即为true
.赋值运算符
运算符
意义
实例
+=
相加并赋值
x+=5等效于x=x+5
-=
相减并赋值
x-=5等效于x=x-5
*=
相乘并赋值
x*=5等效于x=x*5
/=
相除并赋值
x/=5等效于x=x/5
%=
取模并赋值
x%=5等效于x=x%5
&=
换位与并赋值
x&=5等效于x=x&5
赋值运算符的一种特殊形式:
条件赋值运算符
a=条件?
数值1:
数值2//如果条件满足,则为值2,如果不满足,则为数值1
事件处理机制
用on的键盘事件控制一个元件。
新建一个元件,命名为mc,用移动键控制。
(注:
可以将按钮放在屏幕外)
按钮事件
说明
Press
在按钮上按下鼠标左键
Release
在按钮上按下鼠标左键并释放
ReleaseOutside
在按钮上按下鼠标左键然后将鼠标移到按钮外部并释放左键
RollOver
当鼠标指针从按钮外移到按钮上
RollOut
当鼠标指针从按钮外移到按钮外
DragOver
在按钮外按下鼠标左键然后将鼠标指针拖到按钮上
DragOut
在按钮外按下鼠标左键然后将鼠标指针拖到按钮外
keyPress”
按下键键盘上指定的键
事件处理函数
说明
onPress
在按钮上按下鼠标左键时调用
onRelease
在按钮上按下鼠标左键并释放时调用
onReleaseOutside
在按钮上按下鼠标左键然后将鼠标移到按钮外部并释放左键时调用
onRollOver
当鼠标指针从按钮外移到按钮上时调用
onRollOut
当鼠标指针从按钮外移到按钮外时调用
onDragOver
在按钮外按下鼠标左键然后将鼠标指针拖到按钮上时调用
onDragOut
在按钮外按下鼠标左键然后将鼠标指针拖到按钮外时调用
onKeyDown
当按下键时调用
onKeyUp
当释放按键时调用
onSetFocus
当按钮具有输入焦点而且释放某按键时调用
onKillFocus
当从按钮移除焦点时调用
2.影片剪辑事件onClipEvent()
影片剪辑事件
说明
load
影片剪辑被加载并显示在时间轴中
unload
影片剪辑被删除并从时间轴中消失
enterFrame
播放头进入到影片剪辑实例所在的帧
mouseMove
移动鼠标
mouseDown
按下鼠标左键
mouseUp
释放鼠标左键
keyDown
按下键盘上的键
keyUp
释放键盘上的键
data
通过loadMovie()或loadVariables()方法接收外部数据时引起该事件
事件处理函数
说明
onLoad
在影片剪辑被实例化并显示在时间轴上时调用
onUnload
在影片剪辑被从时间轴上删除后的第一帧中调用
onEnterFrame
以SWF文件的帧频持续调用
onMouseMove
移动鼠标时调用
onMouseDown
按下鼠标左键时调用
onMouseUp
释放鼠标左键时调用
onKeyDown
按下按键时调用
onKeyUp
释放按键时调用
onData
当所用数据都加载到影片剪辑时调用
onPress
在影片剪辑上按下鼠标左键时调用
onRelease
在影片剪辑上按下鼠标左键并释放时调用
onReleaseOutside
在影片剪辑上按下鼠标左键然后将鼠标移出并释放左键时调用
onRollOver
当鼠标指针从影片剪辑外移到影片剪辑上时调用
onRollOut
当鼠标指针从影片剪辑上移到影片剪辑外时调用
onDragOver
在影片剪辑外按下鼠标左键然后将鼠标指针拖到影片剪辑上时调用
onDragOut
在影片剪辑上按下鼠标左键然后将鼠标指针拖出影片剪辑时调用
onSetFocus
当影片剪辑具有输入焦点而且释放某按键时调用
onKillFocus
当从影片剪辑移除焦点时调用
1.影片剪辑的属性
属性
说明
属性
说明
_name
实例名称
_totalframes
总帧数
_x
x坐标位置
_framesloaded
已经加载的帧数
_y
y坐标位置
_url
所在swf文件URL
_rotation
旋转角度
_highquality
swf文件呈现的品质
_alpha
透明度
_focustrect
焦点时有无黄色矩形
_visible
可见性
_soundbuftime
声音缓冲的秒数
_width
宽度
enabled
是否启用的状态
_heigth
高度
menu
关联的ContextMenu
_xscale
水平缩放百分比
hitArea
点击区域
_yscale
竖直缩放百分比
focuEnabled
是否能够接受焦点
_xmouse
鼠标指针的x坐标
tabIndex
Tab键顺序
_ymouse
鼠标指针的y坐标
tabEnabled
是否具有Tab键顺序
_parent
父级影片剪辑
tabChildren
子级有无Tab键顺序
_target
实例的目标路径
trackAsMenu
可否接收release事件
_currentframe
播放头所在的当前帧
useHandCursor
是否显示手型光标
2.fscommand函数P194
命令
参数
作用
quit
无
关闭播放器
fullscreen
true/false
全屏模式
allowscale
true/false
是否允许缩放
showmenu
true/false
是否显示菜单
exec
应用程序路径
在播放器内执行应用程序
trapallkeys
true/false
跟踪按键事件
数学方法
说明
数学方法
说明
Math.abs()
计算绝对值
Math.sin()
计算正弦值
Math.random()
返回0-1的随机值
Math.cos()
计算余弦值
Math.ceil()
向上取整
Math.tan()
计算正切值
Math.floor()
向下取整
Math.asin()
计算反正弦值
Math.round()
四舍五入
Math.acos()
计算反余弦值
Math.max()
取较大的一个
Math.atan()
计算反正切值
Math.min()
取较小的一个
Math.atan2()
计算从x轴到点的角度
Math.sqrt()
计算平方根
Math.exp()
计算指数值
Math.pow()
求幂
Math.log()
计算自然对数
1.鼠标位置
主场景的鼠标位置:
_root._xmouse_root._ymouse
影片剪辑鼠标位置:
_root.tt_x_root.tt._y
实例:
打蜜蜂游戏P83
实例:
用createEmptyMovieClip方法创建影片剪辑85
2.管理深度:
myMc.getDepth()//返回指定影片剪辑实例的深度
parentMc.getInstanceAtDepth(depth)//返回位于parentMc内部深度depth上的影片剪辑实例
实例:
鼠标跟随下雪效果
3.动态实现遮蔽:
语句:
mymc.setMask(遮蔽物)
mymc为用来被遮蔽的物体名称;遮蔽物位于遮蔽层
取消:
mymc.setMask(null)
实例:
用遮蔽实现橡皮擦特效
4.拖动影片剪辑
方法:
myMc.starDrag([lock,[left,top,right,bottom]])//开始拖动
该语句使影片剪辑成为可拖动的。
参数lock是一个布尔值,如果为true,拖动过程中将鼠标指针锁定到元件中心;
如果为false,在拖动过程影片剪辑保持与鼠标在开始拖动时的相对位置不变。
默认为false
myMc.stopDrag()
注:
同一个动画中只能有一个影片剪辑被拖动。
因此在开始拖动一个新的影片剪辑时,前一个将会自动停止。
函数:
startDrag(target,[lock,[left,top,right,bottom]])
stopDrag(target)
//target为要拖动的名称
String类:
S1="as"
S2=newString("as")
trace(typeof(s1))//结果为string
trace(typeof(s2))//结果为Object
1.属性:
length
varstr="abc"
trace(str.length)//结果为3
2.方法:
(1)indexOf:
方法:
返回指定字符串的第一个匹配项的位置
(2)lastindexOf方法:
返回指定字符串的最后匹配项的位置
mySting.indexOf(要检索的字符串,开始检索的位置)
mySting.lastndexOf(要检索的字符串,开始检索的位置)
(3)chatAt方法:
返回指定位置处的字符
(4)substring方法:
返回两个检索之间的字符串
(5)substr方法:
返回从开始位置指定长度的字符串
(6)split方法:
将字符串拆分成多个子字符串,作为字符串数组返回
声音类
1.停止所有声音:
stopAllSounds()
2.使用Sound类之前,首先要通过构造函数来创建Sound对象。
varmySound=newSound(myMc)
//控制影片剪辑myMc中的声音,如果省略myMc,则控制所有的声音
停止的控制方法
varmySound=newSound()
mySound.start(20)//开始从20处播放。
如果没有,则是从开始播放
mySound.stop()//声音结束
实例
3.attachSound方法播放声音
varms=newSound();
ms.attachSound("hit");//ms中加入链接为hit声音
4.loadSound方法加载声音loadSound(路径,trueorfalse)true数据流,false事件
varyin=newSound()
yin.loadSound("F:
/mu/3.mp3",false)
5.控制音量的方法
十、全局控制
1.Stage类P193
(1)隐藏菜单。
这里的菜单指播放器的菜单栏和右键菜单
命令:
Stage.showMenu=false
(1)缩放模式:
scaleMode属性用于控制SWF文件的缩放模式。
系统默认Stage.scaleMode=showAll
showAll:
SWF文件随着窗口的缩放调整自身大小,长宽比例不变。
exactFit:
SWF文件随着窗口的缩放调整自身大小,长宽比例变化,充满全屏
noBorder:
SWF文件随着窗口的缩放调整自身大小,保证长宽比例不变下充满全屏(有些画面可能缺失)
noScale:
SWF文件不随着窗口的缩放调整大小,当窗口大于舞台时,以背景色填充
2.fscommand函数P194
命令
参数
作用
quit
无
关闭播放器
fullscreen
true/false
全屏模式
allowscale
true/false
是否允许缩放
showmenu
true/false
是否显示菜单
exec
应用程序路径
在播放器内执行应用程序
trapallkeys
true/false
跟踪按键事件
格式:
fscommand("命令","属性")
1.关闭播放器
实例:
单击按钮退出程序
on(release){
fscommand("quit","")}
2.全屏模式
在事件轴上书写命令
fscommand("fullscreen","true")
3.执行应用程序
利用fscommand函数的exec命令可以通过SWF文件调用EXE应用程序。
使用该命令调用应用程序必须位于与SWF文件相同目录下的fscommand文件夹中。
实例:
btn.onRelease=function(){
fscommand("exec","setup.exe"}
7.绘画方法
MovieClip类的方法可以通过AS来动态绘制图形。
moveTo移动绘画位置myMc.moveTo(x,y)(x,y)是要将绘画位置移动到的点的坐标
lineStyle方法定义用lineTo和curveTo方法画线的线条样式。
myMc.lineStyle(线条粗细,线条颜色,透明度)
0xFFFFFF白色、0x000000黑色、0xFF0000红色、0x00FF00绿色、0x0000FF蓝色
lineTo绘制直线myMc.lineTo(x,y)起点在当前位置,终点在(x,y)
实例:
用绘画方法画直线P97
onMouseDown=function(){
depth=_root.getNextHighestDepth();
drawing=true;
x0=_root._xmouse;
y0=_root._ymouse;}
onMouseMove=function(){
if(drawing){
_root.createEmptyMovieClip("line"+depth,depth);
with(_root["line"+depth]){
moveTo(x0,y0);
lineStyle(0,0x0000FF,100);
lineTo(_root._xmouse,_root._ymouse)}}}
onMouseUp=function(){
drawing=false}
绘制矩形
onMouseDown=function(){
depth=_root.getNextHighestDepth();
drawing=true;
x0=_root._xmouse;
y0=_root._ymouse;}
onMouseMove=function(){
if(drawing){
_root.createEmptyMovieClip("juxing"+depth,depth);
with(_root["juxing"+depth]){
moveTo(x0,y0);
lineStyle(0,0x0000FF,100);
lineTo(_root._xmouse,y0);
lineTo(_root._xmouse,_root._ymouse)
lineTo(x0,_root._ymouse)
lineTo(x0,y0)}}}
onMouseUp=function(){
drawing=false}
实例:
用绘画方法画曲线P98
curveTo绘制曲线
moveTo(100,100);
curveTo(300,200,300,300)
实例:
绘制曲线P98
onMouseDown=function(){
drawing=true;//绘画开始
if(!
down1){//如果不是鼠标按下第一次则为第一次
depth=_root.getNextHighestDepth();
down1=true;//标识第一次
down2=false;
x1=_root._xmouse;
y1=_root._ymouse;}
else{
down1=false;
down2=true;}}
onMouseMove=function(){
if(drawing){
if(down1){//如果鼠标按下第一次
_root.createEmptyMovieClip("curve"+depth,depth);
with(_root["curve"+depth]){
moveTo(x1,y1);
lineStyle(0,0x0000FF,100);
lineTo(_root._xmouse,_root._ymouse);}}
elseif(down2){//如果鼠标按下第二次则画曲线
_root.createEmptyMovieClip("curve"+depth,depth);
with(_root["curve"+depth]){
moveTo(x1,y1);
lineStyle(0,0x0000FF,100);
curveTo(_root._xmouse,_root._ymouse,x3,y3);}}
updateAfterEvent();//刷新显示
}}
onMouseUp=function(){
drawing=false;
if(down1){
x3=_root._xmouse;
y3=_root._ymouse;}
else{
down2=false;}}
基本类
实例0:
时间函数和课件的模板制作(第一帧和第二帧)
实例1:
确定变量的数据类型typeof
实例2:
转义字符的使用
实例3:
变量的声明方式
实例4:
循环结构
实例5:
四处弹跳的小球
实例6:
mouseMove事件实现鼠标跟随
实例7:
带角度变化的鼠标跟随
实例8:
getCode方法获得键盘代码
实例9:
onMouseMove函数实现鼠标跟随P49影片剪辑的load应用P45
实例10:
onEnterFrame函数实现图片悬停P51
实例11:
计算1到1000之间的素数(TextArea组件)P53
实例12:
实行无限循环的方法P53(将上一个例子修改)
实例13:
侦听器的建立和删除(侦听root的键盘事件和鼠标事件等)P54
实例14:
复合键控制图片的移动P59()
实例15:
getAscii方法制作打字游戏P60(.fromCharCode、substring(0,1))P60
实例16:
rotation实现鼠标跟随打台球P71
实例17:
通过_alpha属性实现图片渐入渐出P72
实例18:
鼠标移进开始播放P75
实例18乙:
制作loading动画
实例19:
duplicateMovieClip动态复制影片剪辑P79(舞台上必须有一个才行)
实例20:
用attachMovie方法制作雪花飞舞P81(直接从库中调用元件)
实例21:
removeMovieClip动态删除duplicateMovieClip和attachMovie创建的元件(打蜜蜂游戏)
实例22:
createEmptyMovieClip创建空实例:
createEmptyMovieClip(名称,深度)(遍历的应用)
实例23:
myMc.loadMovie("url")导入图片:
(矩阵排列对象)(完成一半)P87
实例24:
鼠标跟随画图效果(管理深度depth)P89(鼠标跟谁画图)
实例25:
用SwapDepths方法实现立体旋转特效(交换两个影片剪辑的深度)
实例26:
拖动影片剪辑(放大镜的制作)
实例27:
动态创建遮蔽P94(一种隐藏图片的方式)
实例28:
碰撞检测
实例29:
多个物体的碰撞检测
实例31:
文字的淡入淡出(动态文本)
实例32:
随机文字特效(动态文本)
实例33:
可输入时间的倒计时文件onchanged时间的侦听器
实例34:
动态创建文本字段:
createTextField和动态删除文本字段:
removeTextField
设置文本格式的方法
_root.createTextField(名称,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ActionScript20 实例 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)