页面设计的flash的功能

2025-07-07 20:18:19

1、一.影片控制函数 1) gotoandplay 跳转某一帧播放 2) gotoandstop 跳转某一帧停止 3) nextframe 转到下一帧 如 on(press) {nextframe;} 4) prevframe 转到上一帧 如 on(press) {prevframe;} 5) play 开如向后播放影片 如on(press){play();} 6) stop 停止当前播放位置 如on(press){stop();} 7) nextscene 转到下一个场景如 on(press){nextscene();} 8) prevscene 转到上一个场景如 on(press){prevscene();} 9) stopallsounds 停止所有声音如 on(press){stopallsounds();}

2、二.济览器/网络 1) fscommand("fullscreen", "true"); 全屏显示 可以加在第一帧中,也可以加在按加在按钮中.如加在按钮中则为on(press){fscommand("fullscreen", "true"); } fscommand("quit"); 退出 如果加在帧中程序为fscommand("quit"); 意为当播放此帧自动退出. 若加在铵钮中则为on (release) {fscommand("quit");}意为当单击时退出. 2) geturl 定位地址 可以对文件加,也可以对按钮加. 对文本加:选中整个文本或单个文字,在文本属性栏的链接加地址如:http://www.xxx.com 对按钮加:选中按钮,点动作,双击geturl 结果为: on(press){geturl("http://www.xxx.com","_blank");} //blank以新的窗口打开 3) loadmovie 从外部地直加载影片 可以对按钮加,也可以对帧加 按钮加如: on(press){loadmovienum("a.swf","1");} 给帧加:loadmovienum("a.swt","1");

3、三 、简单 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*Np@Q goto and play(" 场景 1", 1)// 跳至并播放第一祯循环 再加上一个 load 地 MC 循环播放在这两帧的中间,就 OK 了。

4、四 、用 flash 做那种弹出的小窗口 分两步: 给 flash 中的按钮加入如下 action: on (release) { idd{ getURL ("javascript:MM_openBrWindow('newweb.htm','','width=600,height=100')"); 在 HTML 页面的 <head>...</head> 之间加入下面的 javascript 代码 . <script language="javascript"> <!-- ~Y function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); ; } //--> </script>

5、五 、载入 swf 文件的控制 在 flash 中可以使用 loadmovie ()和 loadmovienum ()两个函数控制,具体代码如下: loadmov足毂忍珩ie 载入的控制 _root.createEmptyMovieClip ( "aa" , 1 ); with ( aa ) { _x = 50 ; _y = 100 ; _width=200 _height=300 _alpha=50 loadMovie ( "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(d<100){ // 如果没有加载完成,不要播放 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 文件

6、六 、设为首页 on (release) { getURL("javascript:void(document.links.style.behavior='url(#default#homepage)');voiddocument.links.setHomePage(' http://www.flash8.net/')","_self", "POST"); } 注意要将网页中的 flash 的 ID 号命名为 "links" 加入收藏夹 on (release) { getURL("javascript:void window.external.AddFavorite(' http://www.163.com',' 网页 ');","_self", "POST"); }

7、七 、如戾态菩痃何随机设置 MC 颜色? 方法 1 、 MC 实例名为 "mc" mycolor租涫疼迟=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));

8、八、关于随机数的技巧 用来产生 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; do{ gen_data=random(20-6+1)+6; reapeat_data=0; for(i=0,i<=tot-1;i++){ if(gen_data==data reapeat_data=1; break; } } if(reapeat_data==0){ tot++ data[tot-1]=reapeat_data; } }while(tot<5); trace(data1);

9、九 、如何禁止右键菜单、缩放、全屏 在第一桢中输入下面命令: 全屏-> FS Command ("fullscreen", true) 禁止缩放-> FS Command ("allowscale", False) 禁止菜单-> FS Command ("showmenu", False) fscommand 的方法还是只能适用于 fp ,在网页中使用还是必须添加额外的参数 <PARAM Name="menu" value="false"> 或者用最简单的一句 as ,在 fp 和网页中均适用: Stage.showMenu=false;

10、十、如何实现双击效果? 把下面的代码放到按钮上: on (press) { time = getTimer()-down_time; if (time<300) { 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 的类

11、十一、如果要在浏览器中实现全屏效果,只需在 html 文件中加入以下代码即可: <script> javascript :window.open("*.swf","","fullscreen=1,menubar=no,width=800,height=600") </script> 其中 *.swf 为要调用的 FLASH 文件,记住要将该文件放在 html 文件的同一路径下面。要退出全屏状态需按 ALT + F4 或退出。 如果在 swf 文件中,添加关闭按钮,使用下面的代码: on(release) { getURL("javascript :opener=null;window.close();"); }

12、十二、用 AS 怎么把影片倒放 function prev(target) { target.gotoAndStop(target._totalframes); target.onEnterFrame = function() { [ if (this._currentframe>1) { this.gotoAndStop(this._currentframe-1); } else { delete this.onEnterFrame; } }; } prev(_root.mc); // 指定要倒退播放的 MC instance name 就可以了

13、十三 、声音相关 之前为 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 次。

14、十四、倒计时 首先新建文件以后,在主场景中分别用文字工具建立三个动态文本框,变量名字分别是: 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(leftsec<10){leftsec = "0"+leftsec} if(leftmin<10){leftmin = "0"+leftmin} if(leftmilli<10){leftmilli = "0"+leftmilli} // 以上三句是当分钟数、秒数、毫秒数小于 10 的时候,前面加上一个 “0” 。 if(leftmilli<=1){totalmilli+=100;} ); // 当计时剩下的毫秒小于 1 的时候,总秒数再加 100 ,以便下一次重新计时(这里注意得到的影片播放的毫秒数是一直增加的) if(leftsec == 0){// 当剩余的秒数等于 0 的时候 totalsec+=60;// 类似上面的解释,总秒数加 60 totalmin-=1;// 这时候相当于过了 60 秒,所以分钟数要减 1 if(leftmin ==0){// 当分钟数等于 0 的时候,计时结束 leftsec = "00"; , leftmin = "00"; leftmilli = "00"; // 将三个计时框都附值为 0 delete onEnterFrame;// 删除这个逐桢动作,以节省资源 }; } }

15、十五 、键盘控制上下左右 怎样用键盘中的上下左右控制动画! 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._x<0) { mc._x = 0; } if (mc._x>550-mc._width) { mc._x = 550-mc._width; } if (mc._y<0) { mc._y = 0; } if (mc._y>400-mc._height) { mc._y = 400-mc._height; } }

16、十六、随机调用外部图片 用 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); // 随即载入外面的图片

17、十七 、暂停 可以把要暂停的地方 , 帧数放长啊 或者在当前帧写 stop(); function pause(){ clearInterval(pauseInterval); play(); pauseInerval=setInterval(pause,1000); //1000 是 1 秒 �定要倒退播放的 MC instance name 就可以了

18、十八 、怎样改变某一影片剪辑的播放速度 function go(obj) { with (obj) { nextFrame(); if (_currentframe == _totalframes) { gotoAndStop(1); } } ) go(mc); setInterval(go, 100, mc);

19、十九 、怎样调用 .chm 文件 getURL(mk:@MSITStore:F:\...\xxx.chm::/index.htm) otoAndStop(1); } } ) go(mc); setInterval(go, 100, mc);

20、二十 、随机生成一个有 30 个数字的数组,这 30 个数字随机在 1~500 之间取,且不能重复,而且要乱序的。 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);

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢