FLASH动作脚本代码集锦

上传人:jkl****17 文档编号:178904717 上传时间:2022-12-30 格式:DOC 页数:9 大小:48.50KB
返回 下载 相关 举报
FLASH动作脚本代码集锦_第1页
第1页 / 共9页
FLASH动作脚本代码集锦_第2页
第2页 / 共9页
FLASH动作脚本代码集锦_第3页
第3页 / 共9页
点击查看更多>>
资源描述
FLASH动作脚本代码集锦 1 、简单 loading 代码:方法 1 、使用载入字节数判断 b=getBytesTotal();/ 获取总的字节数a=getBytesLoaded();/ 已经下载的字节数onEnterFrame=function()/ 进入帧时 , 进行判断if (a = b) / 如果载入的字节数等于总的字节数delete this.onEnterFrame/ 删除进入帧gotoAndPlay(frame);/ 转入到你要播放的帧 else / 否则a=getBytesLoaded();/ 已经下载的字节数percent=int(a/b*100)+%;/ 计算已经下载的百分比 把上面方法放入第一帧就可以了方法 2 、使用载入的帧数判断_ 用 Action 语法地 if frame is loaded 来实现 , 新建一层,这层专门放 Action,第一帧,ifFrameLoaded ( 场景 , frame) / 假如场景中地祯数已经载入goto and play() / 跳至并播放某某祯 ( 自己设定 ) 第二帧, O*NpQ goto and play( 场景 1, 1)/ 跳至并播放第一祯循环再加上一个 load 地 MC 循环播放在这两帧的中间,就 OK 了。2 、用 flash 做那种弹出的小窗口分两步: 给 flash 中的按钮加入如下 action: on (release) idd getURL (javascript:MM_openBrWindow(newweb.htm,width=600,height=100); 在 HTML 页面的 . 之间加入下面的 javascript 代码 . 3 、载入 swf 文件的控制 在 flash 中可以使用 loadmovie ()和 loadmovienum ()两个函数控制,具体代码如下:loadmovie 载入的控制_root.createEmptyMovieClip ( aa , 1 ); with ( aa ) _x = 50 ; _y = 100 ; _width=200 _height=300 _alpha=50loadMovie ( 02.swf ); loadMovieNum 的载入控制: loadMovieNum ( 02.swf , 1 ); onEnterFrame = function () if ( _level1 ) with ( _level1 ) _x = 50 ; _y = 100 ; delete onEnterFrame ; ; 在 flash 2004 中,增加了 MovieClipLoader 类,使用它可以控制播放,下面是一个测试代码: var mcl= new MovieClipLoader(); / 定义新的 MovieClipLoader 对象 var listener = new Object(); / 定义一个新的对象,用来监听 load 进程listener.onLoadProgress=function(target,loadedBytes,totalBytes ) /onloadprogress 加载过程中每当将加载的内容写入磁盘时调用 / 其中 loadedBytes 是已经下载的字节, totalBytes 是正在加在的文件的总字节数x=loadedBytes y=totalBytes /trace(x+ bytes 已经 load 了 ); /trace(totalBytes + bytes 需要 load); d=x*100/y / 计算已经载入的百分比 ) listener.onLoadInit = function(target) / 当执行加载的剪辑的第一帧上的动作时调用 if(d100) / 如果没有加载完成,不要播放target.stop(); else / 加载完成,可以设置加载的 swf 文件开始播放的帧数target.gotoAndPlay(2); target._width=400 / 设置加载的影片的大小及其位置等相关属性target._height=350 target._x=25 target._y=50 mcl.addListener(listener); / 注册一个新的监听对象mcl.loadClip(*.swf,1)/ 使用自定义的对象,加载 swf 文件4 、设为首页on (release) getURL(javascript:void(document.links.style.behavior=url(#default#homepage);voiddocument.links.setHomePage( POST); 注意要将网页中的 flash 的 ID 号命名为 links 加入收藏夹on (release) getURL(javascript:void window.external.AddFavorite( , 网页 );,_self, POST); 5 、如何随机设置 MC 颜色?方法 1 、 MC 实例名为 mcmycolor=new Color(mc)mycolor.setRGB(random(0xffffff)方法 2 、 MC 实例名为 mc mycolor=new Color(mc) mycolor.setRGB(random(16777215)方法 3 、 myColor = new Color(mc); myColorTransform = new Object();/ 用 new Object() 为 /setTrandform() 创建参数并随机取值 myra = random(100); myrb = random(255); myga = random(100); mygb = random(255); myba = random(100); mybb = random(255); myaa = random(100); myab = random(255); myColorTransform = ra:myra, rb:myrb, ga:myga, gb:mygb, ba:myba, bb:mybb, aa:myaa, ab:myab; myColor.setTransform(myColorTransform); 方法 4 、 mycolor = new Color(mc); mycolor.setRGB(random(255)16|random(255)8|random(255);6 、关于随机数的技巧用来产生 6-20 之间的 5 个不重复的随机数1): 首先产生一个随机数 , 放在数组对象中的第一个位置2): 产生一个新的随机数3): 检查新产生的随机数和所有目前已产生的随机数是否相同 , 若是相同则返回 (2), 否则返回 (4)4): 将新的随机数加入数组对象中下一个数组元素内5): 检查数组对象个数是否已达到 5 个 , 若是跳到 (6), 否则返回 (2)6): 结束AS 如下 : data1=newArray(5); tot=1; data1=tot-1=random(20-6+1)+6; dogen_data=random(20-6+1)+6; reapeat_data=0; for(i=0,i=tot-1;i+)if(gen_data=datareapeat_data=1; break; if(reapeat_data=0) tot+ datatot-1=reapeat_data; while(tot5);trace(data1); 7 、如何禁止右键菜单、缩放、全屏在第一桢中输入下面命令:全屏 FS Command (fullscreen, true) 禁止缩放 FS Command (allowscale, False)禁止菜单 FS Command (showmenu, False) fscommand 的方法还是只能适用于 fp ,在网页中使用还是必须添加额外的参数或者用最简单的一句 as ,在 fp 和网页中均适用: Stage.showMenu=false; 8 、如何实现双击效果?把下面的代码放到按钮上: on (press) time = getTimer()-down_time; if (time300) trace(ok); down_time = getTimer(); 这样的话,如果都用比较麻烦,写了一个类来判断MovieClip.prototype.doubleClick = function() this.timer2 = getTimer()/1000; if (this.timer2-this.timer)0.25) return true; else this.timer = getTimer()/1000;return false; ; 继承了 mc 的类,可以重复使用,当然也可以封装为 2 。 0 的类9 、如果要在浏览器中实现全屏效果,只需在 html 文件中加入以下代码即可:javascript :window.open(*.swf,fullscreen=1,menubar=no,width=800,height=600) 其中 *.swf 为要调用的 FLASH 文件,记住要将该文件放在 html 文件的同一路径下面。要退出全屏状态需按 ALT F4 或退出。 如果在 swf 文件中,添加关闭按钮,使用下面的代码:on(release) getURL(javascript :opener=null;window.close();); 10 、用 AS 怎么把影片倒放function prev(target) target.gotoAndStop(target._totalframes); target.onEnterFrame = function() if (this._currentframe1) this.gotoAndStop(this._currentframe-1); else delete this.onEnterFrame; ; prev(_root.mc);/ 指定要倒退播放的 MC instance name 就可以了11 、声音相关之前为 MYSOUND 链接一个属性 1 : mysound=new Sound();/ (注释) mysound 是一个变量名, new Sound 是一个构造函数,表示 mysound 是一个 Sound 对象。 以后可以通过 mysound 来调用 Sound 方法 *HK 2: mysound.attachSound(name); 这里的 NAME 就是你之前在标识符里写的东西了,对应好了就 OK !3: mysound.setVolume(50); 这个是控制声音播放时的声音大小,取值在 0 到 100 ,意义大家都知道吧,不会有人认为 0 是最大声吧 4:mysound.start(0.01); 这个语句是表示开始播放声音,()里的参数表示声音开始的位置,单位为秒,再来就是循环几次 比如 mysound.start(30 , 2);/ 声音从 30 秒处开始循环 2 次。12 、倒计时首先新建文件以后,在主场景中分别用文字工具建立三个动态文本框,变量名字分别是: leftmin,leftsec,leftmilli, 也就是分别来显示计时的分钟、秒数和毫秒数。 然后新建一层,在第一桢写上如下代码即可:(已经做了详细解释,相信大部分朋友能够理解这些代码的意思)onLoad = function()/ 当场景加载以后执行totalmin = 40; totalsec = 60;totalmilli = 100;/ 初始化一些变量,在后面的计算中要用到这些变量 onEnterFrame = function()/ 逐桢执行动作 currentsec = Math.round(getTimer()/1000);/ 求出当前影片已经播放的秒数(取整)currentmilli = Math.round(getTimer()/10);/ 求出当前影片已经播放的毫秒数(取整) leftsec = totalsec- currentsec; / 剩余的秒数等于总的秒数减去已经播放的秒数leftmin = totalmin; / 开始分钟数等于总的分钟数,开始是不变的leftmilli = totalmilli - currentmilli; / 剩余的毫秒数等于总的毫秒数减去已经播放的毫秒数if(leftsec10)leftsec = 0+leftsecif(leftmin10)leftmin = 0+leftminif(leftmilli10)leftmilli = 0+leftmilli/ 以上三句是当分钟数、秒数、毫秒数小于 10 的时候,前面加上一个 “0” 。if(leftmilli=1)totalmilli+=100; ); / 当计时剩下的毫秒小于 1 的时候,总秒数再加 100 ,以便下一次重新计时(这里注意得到的影片播放的毫秒数是一直增加的)if(leftsec = 0)/ 当剩余的秒数等于 0 的时候totalsec+=60;/ 类似上面的解释,总秒数加 60 totalmin-=1;/ 这时候相当于过了 60 秒,所以分钟数要减 1if(leftmin =0)/ 当分钟数等于 0 的时候,计时结束leftsec = 00; , leftmin = 00; leftmilli = 00; / 将三个计时框都附值为 0delete onEnterFrame;/ 删除这个逐桢动作,以节省资源; 13 、键盘控制上下左右怎样用键盘中的上下左右控制动画!onClipEvent (load) speed = 5;/ 当 MC 载入时,设置速度为 5 ,也就是说每按一下方向键,就移动 5 象素onClipEvent (enterFrame) if (Key.isDown(Key.LEFT) this._x -= speed;/ 当 被按下时,自身的 X 位置不断减 speed , X 轴坐标不断减小,也就是不断向左移动 if (Key.isDown(Key.RIGHT) this._x += speed;/ 当 被按下时,自身 X 位置不断加 speed , X 轴坐标不断增加,也就是不断向右移动if (Key.isDown(Key.UP) this._y -= speed;/ 当 被按下时,自身的 Y 位置不断减 speed , Y 轴坐标不断减小,也就是不断向上移动 if (Key.isDown(Key.DOWN) this._y += speed;/ 当 被按下时,自身的 Y 位置不断加 speed , Y 轴坐标不断增加,也就是不断向下移动 onEnterFrame = function () if (Key.isDown(Key.LEFT) mc._x -= 20; if (Key.isDown(Key.RIGHT) mc._x += 20; if (Key.isDown(Key.UP) mc._y -= 20; if (Key.isDown(Key.DOWN) mc._y += 20; if (mc._x550-mc._width) mc._x = 550-mc._width;if (mc._y400-mc._height) mc._y = 400-mc._height; 14 、随机调用外部图片用 9 个图片为例子,这个也可以使用 loadmovie 调用num=Math.round(9*Math.random()+1)/ 设置随即数字( 1-9 ) _root.createEmptyMovieClip(pic, 1); / 创建一个空的 PIC MC 用来装载外面载入的图片_root.pic._x = 200; _root.pic._y = 200;/ 简单设置一下 MC 的位置_root.pic.loadMovie(num+.jpg,1); / 随即载入外面的图片15 、暂停可以把要暂停的地方 , 帧数放长啊或者在当前帧写stop();function pause() clearInterval(pauseInterval); play(); pauseInerval=setInterval(pause,1000);/1000 是 1 秒16 、怎样改变某一影片剪辑的播放速度function go(obj) with (obj) nextFrame(); if (_currentframe = _totalframes) gotoAndStop(1); ) go(mc); setInterval(go, 100, mc);17 、怎样调用 .chm 文件getURL(mk:MSITStore:F:.xxx.chm:/index.htm)18 、随机生成一个有 30 个数字的数组,这 30 个数字随机在 1500 之间取,且不能重复,而且要乱序的。tmp = new Array(); k = new Array(); for (i=0; i=499; i+) tmp = i+1;for (i=0; i=29; i+) k = tmp.splice(random(tmp.length-1), 1);trace(k);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!