flash脚本.docx
《flash脚本.docx》由会员分享,可在线阅读,更多相关《flash脚本.docx(18页珍藏版)》请在冰豆网上搜索。
![flash脚本.docx](https://file1.bdocx.com/fileroot1/2023-2/4/2a6c33c3-4380-4782-afc2-ded61a25e9e0/2a6c33c3-4380-4782-afc2-ded61a25e9e01.gif)
flash脚本
影片控制
语法:
gotoAndPlay(Scene,Frame);将播放头跳转到场景中指定的帧并从该帧开始播放,
标签范例:
gotoAndPlay("Scene1",1);
gotoAndStop:
将播放头跳转到场景中指定的帧(标签)并停止播放
NextFrame:
下一帧
goto
PreviousFrame:
前一帧
nextscene:
下一个场景
previousscene:
前一个场景
FrameLabel:
关键帧中定义的标签位置
语法:
on(mouseEvent);
范例:
on(press){
指定触发动作的鼠标事件或按键
startDrag("");
}
MouseEvent可分为以下几类。
Press:
鼠标指针在按钮上,并按下按钮
Release:
鼠标指针在按钮上,按下后放开按钮
onReleaseOutside:
当鼠标指针滑到按钮上时按下鼠标按钮,然后在释放鼠标按钮前滑出
此按钮区域
RollOver:
鼠标指针滑过按钮
RollOut:
鼠标指针滑出按钮外
DragOver:
当鼠标指针滑到按钮上时按下鼠标按钮,然后滑出该按钮区域,接着滑回
到该按钮上
DragOut:
当鼠标指针滑到按钮上时按下鼠标按钮,然后滑出此按钮区域
KeyPress:
(“key”)按下指定的键盘按键
play语法:
play();开始播放影片或继续往前播放
stop语法:
stop();停止播放影片
stopAllSounds语法:
stopAllSounds;停止所有正在播放中的音乐文件
2.
浏览器/网络
语法:
fscommand(command,parameters);使SWF文件能够与FlashPlayer或
fscommand嵌入FlashPlayer的程序(如Web浏览器
)进行信息传递,范例:
fscommand("fullscreen","true");
续表
FlashPlayer的指令。
Fullscreen(true/false):
以全屏方式打开播放器
Allowscale(true/false):
允许影片放大或缩小
Showmenu(true/false):
显示单击鼠标右键时的菜单
Trapallkeys(true/false):
传送所有按键事件至onClipEvent
Exec(true/false):
执行一项内部指令
Quit:
关闭播放器
语法:
loadVariables(URL,level/target,Variables);
从外部文件中读取数据,例如文本文件,或是CGI、ASP或PHP脚本产生的文本。
然后在影片内设置变量值
范例:
on(release){
loadVariablesloadVariablesNum("MX.txt",0);}
语法:
getURL(URL,Window,Variables);
打开网页的相对或绝对地址,与超级链接的作用是相同的,可从链接网页URL中加载影片、JPG,选择性地传递变量,加载到当前动画影片中。
getURL范例:
getURL("http:
//www.taiwan123.com.tw","_blank");
语法:
loadMovieNum(URL,level/target,Variables)
loadMovie
范例:
loadMovieNum("picture.jpg",0)
unloadMovie语法:
unloadMovieNum(level/target)取消已载入的动画影片
3.
影片剪辑控制
当SWF文件正在播放时,创建一个
影片剪辑的实例。
无论播放头在原始影片剪辑中处于什么位置,在重复的影片剪辑中,播放头始终从第1帧
开始
语法:
duplicateMovieClip(target,newname,depth);
duplicateMovieClip范例:
duplicateMovieClip("/game","newgame",2);
removeMovieClip语法:
removeMovieClip("target");删除指定的影片剪辑
可用鼠标拖动已定义实体名称的影片剪辑,一次只能拖动一个。
一旦执行,该影片剪辑保持可拖动状态,直到用stopDrag明确停止拖动为止,或是对另一个影片剪辑做startDrag的动作命令
语法:
startDrag(target,lock,[left,top,right,bottom]);
范例:
on(press){startDragstartDrag
startDrag("/happy",true,0,350,210);
}
startDrag的动作命令
语法:
stopDrag();
范例:
on(release){
stopDrag停止当前的拖动操作
stopDrag();
}
续表
语法:
onClipEvent(movieEvent){}
范例:
onClipEvent(load){事件处理函数:
触发去执行那些指派
gotoAndStop(3)给一个影片剪辑的动作命令
}
MovieEvent可分为以下几类。
Load:
载入动画影片
Unload:
删除动画影片
onClipEventEnterFrame:
进入每一帧(都会启动action)
MouseMove:
每次移动鼠标时启动此动作
MouseDown:
按住鼠标左键
MouseUp:
放开鼠标左键
KeyDown:
按住键盘的一个按键,使用Key.getCode去读取最后被按下的按键
KeyUp:
放开键盘的一个按键,使用Key.getCode去读取最后被放开的按键
Data:
在loadVariables()或loadMovie()动作中接收到数据时启动该动作。
当与
loadVariables()动作一起指定时,data事件只在加载最后一个变量时发生一次
当影片播放时,更改影片剪辑的属
语法:
setProperty(target,property,value)
setProperty性值,如Alpha、Width、Visible、
范例:
setProperty("happy",_alpha=30);Rotation等
在指定的ClipEvent事件触发后,刷
updateAfterEvent语法:
updateAfterEvent()新屏幕显示,可以避免刷新网页时的
屏幕闪烁
4.
变量
语法:
delete(reference)
范例:
account=newObject();
deleteaccount.name='mx';删除指定的对象或变量
account.balance=5000;
deleteaccount;
设置变量的值,可运用【运算法】的
方式设置其为字符串或数值。
和大多
语法:
variable=value数的程序语言一样,设置变量名称
setvariable
范例:
x=random(15)+6;时,变量名称的第一个字需为英文而
不能是数字,而在Flash中变量是没
有大小写之分
语法:
varvariableName
范例:
varx;
vary=1;声明变量
varz=3,w=4;
vars,t,u=z;
语法:
with(object){statement}
with范例:
with(_root.apple){使用with控制影片剪辑
gotoAndStop(3);
}
判断条件/循环
语法:
break;
范例:
vari=0;
while(true){命令Flash跳过循环体的其余部分,
if(i>=100){停止循环动作,并执行循环语句之后
break;的语句
}
}
出现在几种循环类型中,会先跳过循环里的其余部分再执行:
在while循环内,会回到循环顶端再
度测试条件。
continue语法:
continue;
在dowhile里会到循环底部测试条件。
在for内,会跳过循环的判断位置。
在for...in内,会回到循环顶端,处理
下一个枚举值
执行语句,然后只要条件为true,就
dowhile语法:
do{statement;}while(condition);
计算循环中的条件
当if语句的条件返回false时,就执
else语法:
else{statement;}
行要运行的语句
先判断init(初始值)一次,然后开始
做循环,只要condition(条件)的计
for语法:
for(init;condition;next){statement}
算结果是true,就执行要运行的语句,
然后再重新判断
语法:
if(condition){statement;}
范例:
if(mx=5){当if的condition条件式为true时,
if
play();就执行要运行的语句
}
计算条件,如果条件计算结果为
while语法:
while(condition){statement;}true,则在循环返回以再次计算条件
之前执行一条语句或一系列语句
6.
打印
打印指定影片剪辑的所有Frame,若只想打印特定几页时,请在要打印的Frame加上FrameLable:
#print
语法:
print(target,method);
范例:
print("fish","bmovie");
Method可分为以下3种:
Bmovie:
指明以电影的边界区域(boundingarea)作为打印区域。
可以在编写环境
(authoring)中,在那几个帧附上标签:
#b。
Bmax:
可指定这个混合各个边界区域的参数,来作为打印范围。
Bframe:
缩放每格的对象大小,来填满打印的页面
7.自定义函数
在被调用帧中执行脚本,而不将播放头移动到该帧
call语法:
call(frame)
语法:
functionfunctionname([parameters])
{statement}
function范例:
functionCircle(radius){自定义函数
this.radius=radius;
}
method语法:
object.method=function([parameters]){};自定义对象的方法
语法:
return[expression];指定函数返回一个值,如单独使用
return范例:
functionsum(a,b,c){return或函数循环执行时,没有这个
returna+b+c;
命令,则函数返回null
}
8.各种动作
在测试模式下,计算表达式并在
trace语法:
trace(expression);【输出】面板中显示结果,适用于
侦错
在Actions中加上批注说明文字,以
语法:
//comment避免Actions太混杂难以理解,此功
comment
范例:
//这是一个计数器的判断式能对于往后的维护工作,甚至是程序
二次开发都相当有帮助
()范例:
gotoAndPlay("Scene1"1)范围
""范例:
tellTarget("/game")字符串
1.数学运算符
+加
范例:
a=10;b=5
e=a+b//e=15
-减
c=a-b//c=5
*乘
g=a*b//g=50
/除
h=a/b//h=2
%A/B的余数
i=a%b//i=0
2.比较运算符
=等于
范例:
a=50;b=30;c=20
<小于
b >大于
a>c
<=小于等于
if(c<=b)
>=大于等于
if(a>=c)
!
=不等于
if(a!
=b)
语法:
escape(expression)
范例:
k=escape("HappyNewYear");将参数转换为字符串,并以URL编
escapetrace(k)码格式对其进行编码
结果:
Happy%20New%20Year
语法:
eval(expression)
范例:
on(release){
x=“3”;按照名称访问变量、属性、对象或影
eval
trace(eval(“x”);片剪辑,返回该变量或属性的值
}
结果:
3
语法:
getProperty(instancename,property)
getProperty返回指定属性的值
范例:
getPrperty(_root.fish,_x)
返回自SWF文件开始播放时起已经
getTimer语法:
getTimer()
过的毫秒数
返回一个包含FlashPlayer版本与平
台信息的字符串,此函数在
getVersion语法:
getVersion()
Test-movieMode(测试电影模式)不
会执行
返回一个包含MovieClip对象的目
targetPath语法:
targetpath(movieClipObject)
标路径字符串
语法:
unescape(x)
范例:
k=unescape("Happy%20New%20Year");将URL编码格式的字符串转换成
unescapetrace(k)ASCII字符格式
结果:
HappyNewYear
1.转换函数
Boolean语法:
Boolean(expression)转换指定的参数到布尔值类型
Number语法:
Number(expression)转换指定的参数到数字类型
转换指定的参数到字符串类型
Actions语法/范例说明
_alpha
语法:
instancename._alpha=value;
范例:
kewpie._alpha=30;
设置影片剪辑的透明值。
有效值是0
(全透明)到100(不透明)
_visible
语法:
instancename._visible,"boolean";
范例:
apple.visible=1
决定instancename参数指定的影片
是否看得见
_target语法:
instancename._target获取影片剪辑的目标路径
_rotation
语法:
instancename._rotation;
范例:
setProperty("movieclip"_rotation=30);
设置影片剪辑的旋转角度
_name
语法:
instancename._name
范例:
setProperty("movieclip"_name,"string");
获取影片剪辑的实例名称
_framesloaded
语法:
_framesloaded=x;
范例:
happy._framesloaded=25;
确定特定帧及其前面所有帧的内容
是否已经加载,并且是否可在浏览
器本地使用。
参数:
x为时间轴上的
帧数
_droptarget
语法:
myMovieClip._droptarget
范例:
if(happy._droptarget==root.trash){
happy._visible=false;
}
返回该影片剪辑的绝对路径
_currentframe
语法:
_currentframe;
范例:
gotoAndStop(_currentframe+5)
结果:
引导影片前进5格
获取影片剪辑的当前帧
_totalframes
语法:
_totalframes;
范例:
if(_currentframe=_totalframes)
获取影片剪辑的总帧数
_quality语法:
_quality=x;
电影的质量,x值包括低(low)、
中等(medium)、高(high)或最
好(best)
_focusrect语法:
_focusrect=Boolean当按Tab键浏览时,按钮上是否有个
黄色的边框出现
_soundbuftime
语法:
instancename._soundbuftime
范例:
setProperty("happy"_soundbuftime,"5");
指定在声音开始进入流之前,预先缓
冲的秒数
_url
语法:
instancename._url;
范例:
setProperty("happy"_url,"www.e-happy.
com.tw"
读取网址(URL)位置的影片剪辑
String语法:
String(expression)参数:
expression要被转换成字符串
的数字、布尔式或表达式
2.数学函数
判断数据内容是否为数值,如果不是
isNaN语法:
isNaN(expression)
数值则返回true
将字符串转换为浮点数,直到此函数
parseFloat语法:
parseFloat(string)
遇到不是初始数字一部分的字符
将字符串转换成整数,并进一步设置
parseInt语法:
parseInt(expression,[radix])
数值的进制
设置影片剪辑的x坐标,左上角默认
_x语法:
instancename._x
为(0,0)
_y语法:
instancename._y设置影片剪辑的y坐标
语法:
instancename._xmouse
_xmouse获取鼠标位置的x坐标
范例:
happy._xmouse=50
语法:
instancename._ymouse
_ymouse获取鼠标位置的y坐标
范例:
happy._ymouse=50;
语法:
instancename._xscale从注册点开始应用的水平缩放比例,
_xscale
范例:
setProperty("movieclip"_xscale,"70");以百分比表示。
默认注册点为(0,0)
语法:
instancename._yscale从注册点开始应用的垂直缩放比例,
_yscale
范例:
setProperty("movieclip"_yscale,"60");以百分比表示。
默认注册点为(0,0)
语法:
instancename._width=value;
_width设置影片剪辑的宽度
范例:
setProperty("movieclip",_width,"80");
语法:
instancename._height=value;
_height设置影片剪辑的高度
范例:
setProperty("movieclip",_height,"50")
五、对象-核心-Date
Actions语法/范例说明
newDate
(构造函数)
语法:
newDate(year,month,date,hour,min,sec,ms);
范例:
now=newDate();
trace(now)
结果:
ThuMar716:
01:
20GMT+08002001
创建Date对象
getDate
语法:
mydate.getdate();
范例:
now=newDate();
mydate=now.getDate()
trace(mydate);
按照本地时间返回指定的Date对
象中表示月中某天的值(1到31之
间的整数)
getDay
语法:
mydate.getday();
范例:
now=newDate();
myday=now.getDay()
trace(myday);
按照本地时间返回指定的Date对
象中表示周几的值(0代表星期日,
1代表星期一,以此类推)
getFullYear
语法:
mydate.getfullyear();
范例:
now=newDate();
myfullyear=now.getfullyear()
trace(myfullyear);
按照本地时间返回指定的Date对
象中的完整年份值(一个4位数,
如2002)
getHours
语法:
mydate.gethours();
范例:
now=newDate();
myhours=now.gethours()