动作脚本知识回顾课件_第1页
动作脚本知识回顾课件_第2页
动作脚本知识回顾课件_第3页
动作脚本知识回顾课件_第4页
动作脚本知识回顾课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Flash动作脚本知识归纳主要内容注意事项全屏与退出控制跳转播放帧脚本按钮(或影片)脚本按钮隐藏与禁用影片加载方法元件实例属性元件实例拖动坐标定位方法交互反馈方法动态文本与输入文本加载外部声音文件音量调整检测音乐是否播放完毕判断影片剪辑是否播放完毕判断影片剪辑是否加载完毕自定义函数记录点击次数给变量赋值延时控制复制与删除影片剪辑调用EXE或其他格式文件多分支结构案例(影片倒放)键盘检测注意事项在flash文档中,所有的实例名、变量均不能重复需要区分大小写标点需为英文状态蓝色字母是内部关键字,不能作为自定义变量或者实例名使用控制播放play();//当前时间轴播放stop();//当前时间轴停止b.play();//影片剪辑b播放,b为实例名b.stop();//影片剪辑b停止,b为实例名_root.play();//主时间轴播放_root.stop();//主时间轴停止(场景对应的时间轴称为主时间轴)控制播放gotoAndStop(b);//当前时间轴跳到b帧停止gotoAndPlay(b);//当前时间轴跳到b帧播放gotoAndPlay("c");//当前时间轴跳到帧标签为c的帧播放_root.gotoAndStop(b);//主时间轴跳到b帧停止_root.mc.gotoAndStop(b);//放在场景的影片剪辑mc跳到b帧停止帧脚本帧脚本指放在时间轴上的脚本,时间轴上显示a字母例如实现按钮功能的方法:a2.onPress=function(){按下时执行动作 }a2.onRelease=function(){释放时执行动作}注:a2为按钮实例名,按钮隐藏与禁用是否可见button._visible=true;//false表示不可见是否可用button.enabled=true;//false表示不可点击Button为按钮实例名

影片加载方法加载到层级loadMovieNum("a.swf",2);与主画面左上角对齐,2表示层级,叠加在主画面上面2层此数字可改变,数字越大叠加的层级越高;为0时代替原来的影片卸载该层级的影片unLoadMovieNum(2);影片加载方法加载到影片剪辑loadMovie(“b.swf”,“mc2”);

代替原来的mc2的内容,与mc2左上角对齐可通过控制mc来改变加载的影片,如画面缩放、播放等。元件实例属性水平缩放比例mc2._xscale=20;//数值为百分比垂直缩放比例mc2._yscale=20;

注:mc2为按钮或影片剪辑实例名,loadMovie加载到目标mc2的影片视为mc2元件实例属性透明度a._

alpha=100;//可以为0至100的整数宽度和高度 a._width=250;//数值表示像素 a._height=350;旋转角度a._rotation=90;//数值表示旋转角度,正表示顺时针方向元件实例拖动开始拖动a2.onPress=function(){

startDrag(a2); }停止拖动a2.onRelease=function(){

stopDrag();

}注:a2为按钮或影片剪辑实例名,按下a2可拖动释放停止拖动坐标定位方法2鼠标位置坐标(只能读取)a1=_root._xmouse;a2=_root._ymouse;

注:a1、a2为变量名

交互反馈方法1计算坐标变化,再利用变量控制mc的播放

button.onPress=function(){ a=_root._ymouse;//求按钮按下瞬间的鼠标位置

onEnterFrame=function(){//重复以下 b=Math.ceil((_root._ymouse-a)/

button._height*100); //计算鼠标移动范围变为正负100以内的整数,往下拖动为正值,往上拖动为负值

_root.mc.gotoAndStop(b);//mc跳到b帧停止 }}交互反馈方法2条件判断语句if(条件){ 符合条件的动作}else{ 不符合条件的动作}

注:==等于,>=大于等于,<=小于大于动态文本动态文本框和变量名,以下例子if(mc2.hitTest(mc1)){ a="碰撞了!"}else{ a="还没碰撞!"}

如果将舞台上的动态文本框的变量名设为a,则文本框的文字会改变。输入文本假设输入文本框的实例名为a1,变量名为c;要读取输入文本框的信息,并显示在动态文本框中(变量为b);通过按钮添加on(release){b=a1.text;//必要时写成b=Number(a1.text)转为数值型b=2*b;}在时间轴上添加:c=“请输入数字”;则测试会出现提示“请输入数字”,当输入数字后点击按钮则出现计算结果。加载外部声音文件varsong_sound:Sound=newSound();//定义声音变量song_soundsong_sound.loadSound("music/背景音乐.mp3",true);//加载外部声音文件并以流媒体方式播放注:音乐文件名为“背景音乐.mp3”,放置于flash文档旁边的music文件夹中。音量调整zuo=bar._x;//求音量控制条bar左边的x坐标you=bar._x+bar._width;//求音量控制条bar右边的x坐标button.onPress=function(){

startDrag(button,false,zuo,button._y,you,button._y); //拖动按钮,限定拖动范围左到右}//以下为停止拖动button.onRelease=function(){stopDrag();}button.onReleaseOutside=function(){stopDrag();}button.onRollOut=function(){stopDrag();}(接下一页)音量调整varsong_sound:Sound=newSound();//定义声音变量song_sound.loadSound("music/背景音乐.mp3",true);onEnterFrame=function(){//按帧频重复以下语句

varlevel:Number=Math.ceil((button._x-zuo)/(bar._width)*100);

//定义变量level为数值型,计算按钮坐标变化song_sound.setVolume(level); //调整音量为level的数值 level_txt=level;//动态文本框变量名level_txt,用于显示调整数值}//重复结束标记(接上一页)想一想我希望点击一个按钮加载一个影片test.swf到mc中,并让他跳转到第10帧。下面的脚本可行吗?on(press){

loadMovie("test.swf","mc"); mc.gotoAndStop(10); }判断影片剪辑是否加载完毕i=0;//添加到时间轴//以下添加到按钮上on(press){ i+=1;loadMovie(i+".jpg","mc");onEnterFrame=function(){a1=mc.getBytesLoaded();b1=mc.getBytesTotal();

if(a1==b1){ mc._width=300; mc._height=200;} }}i=0;//添加到时间轴//以下添加到按钮上on(press){ i+=1;loadMovie(i+".jpg","mc"); mc._width=300; mc._height=200;}看起来正确,但测试不正常的脚本正确的脚本(有加载检测)自定义函数function

f(x){//定义函数名为f(x),x为变量y=2*x*x+5*x+6;//定义函数内容}//自定义函数结束a2.onPress=function(){//a2按钮按下时x=a1.text;//读取输入文本的数字f(x);//执行函数trace(y);输出结果}自定义函数functionf(x){//定义函数名为f(x),其中x为变量y=2*x*x+5*x+6;//定义函数内容x1=200+x;y1=400+y/-100;}//自定义函数结束a2.onPress=function(){//a2按钮按下时x=-100;onEnterFrame=function(){x+=1;if(x>=100){x=100}f(x);//调用自定义函数a3._x=x1;a3._y=y1;}}记录点击次数给变量赋值i=0;b.onPress=function(){ i+=1; t="a"+i; s="zhu";

set(t,s); }第1次按下b按钮时,将字符串“zhu”写入a1;第2次按下b按钮时,将字符串“zhu”写入a2;第3次按下b按钮时,将字符串“zhu”写入a3;如此类推。延时控制t1=getTimer()/1000;//毫秒转换为秒onEnterFrame=function(){ td=getTimer()/1000; td=t-t1;if(td>=0.05){mc._width=320;mc._height=240;} }}复制与删除影片剪辑x=-100;duplicateMovieClip("a3","a3"+x,100+x);//复制影片(对象,复制的新名称,放置于哪一层级)removeMovieClip("a3"+x);//删除影片(实例名)注意:层级不能小于0,因为本例中x为-100,所以加上100。复制与删除影片剪辑x=-100;functionf(x){//定义函数名为f(x),其中x为变量y=2*x*x+5*x+6;//定义函数内容x1=200+x;y1=400+y/-100;}//自定义函数结束a1.onPress=function(){

while(x>-100){

removeMovieClip("a3"+x); x=x-1; } x=-100;f(x);//执行函数a3._x=x1;a3._y=y1;}a2.onPress=function(){//a2按下时onEnterFrame=function(){x+=1;if(x>=100){x=100;deleteonEnterFrame;}f(x);//执行函数a3._x=x1;a3._y=y1;duplicateMovieClip("a3","a3"+x,100+x);}}a4.onPress=function(){

deleteonEnterFrame; }注:以上为画抛物线的代码调用exe文件建立fscommand文件夹,将需要调用的exe文件(如note.exe)复制到该文件夹内。Flash按钮添加以下脚本,发布为exe文件,放置于fscommand文件夹旁边。on(release){

fscommand("exec","note.exe");}调用其它文档建立fscommand文件夹,将需要调用的文档(如shiyan1.doc)复制到该文件夹内。用记事本输入以下文字,保存为批处理文件(如shiyan.bat),复制到fscommand文件夹内。@echooff

Startshiyan1.docFlash按钮添加以下脚本,发布为exe文件,放置于fscommand文件夹旁边。on(release){

fscommand("exec","shiyan.bat");}调用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论