为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Flash延时

Flash延时

2011-12-28 6页 doc 36KB 63阅读

用户头像

is_136067

暂无简介

举报
Flash延时Flash延时 下面接着写: function aa(){ gotoAndPlay(x); } tiaozhuanId=setInterval(aa,5000);//这里假定为5秒 然后在你跳转到的桢添加:clearInterval(tiaozhuanId); 回答者:ningyue220 - 高级经理 七级  6-1 11:19 ------------------------------------------------------------------------------------- 冒昧,上...
Flash延时
Flash延时 下面接着写: function aa(){ gotoAndPlay(x); } tiaozhuanId=setInterval(aa,5000);//这里假定为5秒 然后在你跳转到的桢添加:clearInterval(tiaozhuanId); 回答者:ningyue220 - 高级经理 七级  6-1 11:19 ------------------------------------------------------------------------------------- 冒昧,上面那位的,可用性有待商量,可以兼容的话是很好的。 setInterval 函数 可用性:ActionScript 1.0、Flash Player 6 -------------------------------------------------------- - 一般的方法 首先 Stop(); time=0; 先前的 onEnterFrame = function () {} 函数中加入 if(time/12>6){//每秒帧数一般12帧,这里设为6秒 gotoAndPlay(x); }else{ time++; } -------------------------------------- 一般都能解决。 回答者:Legend51646392 - 助理 二级  6-1 20:37 //在第一帧上加代码,意思是过5秒后跳到第3帧,5000是代5秒,自己想改多少就改多少, //跳帧也可自己选择,跳完以后用clearInterval(cle)删除函数,要不每过5秒它都会跳一次要 stop() cle=setInterval(main,5000) function main(){ gotoAndStop(3) clearInterval(cle) } clearInterval 函数 var i = 0; var t = 1; var dis = 20; _root.createEmptyMovieClip("listenTime_mc", this.getNextHighestDepth()); listenTime_mc.onEnterFrame = function() {        trace(t);        t++;        if ((t-i)>=dis) {               trace("Play");               i = t;        } };//保证不会出错! stop(); function a(){         play();         clearInterval(a)     } var a=setInterval(a,20000); n=10; //n为时间(秒) var myInterv=setInterval(go,n *1000); function go(){ //这里执行动作     clearInterval(myInterval); } a=getTimer(); this.onEnterFrame=function(){ for(var i=0;i<10000;i++){ } b=getTimer(); c=b-a if(c>5000){         delete onEnterFrame;         trace("++++++++++++++"); //把要延时做事,放在这里; } }   大家都知道,FLASH中的循环(LOOP)存在一个致命的弱点,即它存在一个最大循环上限:2000000次。超出这个上限时,FLASH PLAYER将认为当前循环是一个无限循环。因此,当我们在寻找一个通用的时间延迟算法的FLASH实现时,我们时无法相信LOOP循环的,我们只能寻找其他的手段。在FLASH中的一个函数——GetTimer正是我们寻找的另一条实现时间延迟算法的‘路’。   GetTimer函数的作用就是返回FLASH影片由开始播放到函数调用这两点间的时间间隔,它的返回值单位时毫秒。我们在使用GetTimer的时候要注意单位的转换!否则可能会出现要求等1秒却等了1毫秒的时间等类似的笑话。   下面我们给出一个简单通用的算法 1. 在影片上新建一个MovieClip,命名为DelayFunc并进入编辑这个MovieClip; 2. 在DelayFunc的第一桢处填加标签(Label)为Start,并加入下列行为。 算法解释:首先要做的是获取延迟时间/:Delay,如果没有设定则取缺省值5秒。这里的变量Start就是此次延迟的起始时间。 Comment: 变量初始化 If (/:Delay="") Set Variable: "/:Delay" = 5 End If Comment: 获取当前时间作为起始参照 Set Variable: "Start" = GetTimer 3. 在DelayFunc的第三桢上填加以下行为: 算法解释:这段算法主要的工作就是依据时间比较的结果来进行相应的处理。当延迟时间没有达到即/:Elapsed小于/:Delay,那么程序进入下一个循环(Go to and Play (2));如果延迟时间达到了或者稍稍超过了(这里的超过主要是由于播放第二桢所造成的时间误差,一般在0.05秒左右),那么程序体返回调用延迟函数所在时线并将程序体置零(Go to and Stop(1))。 Comment: 获取以过去时间,注意单位换算 Set Variable: "/:Elapsed" = (GetTimer-Start)/1000 Trace (/:Elapsed) Comment: 时间判断函数,这是算法的主体 If (/:Elapsedminu1){ i=1; break; }else{ if (second2>second1+2) //延时两秒 { i=1; break; } } delete minu2; 3.在第12帧上 stop(); if(i==1){ play(); break; }else{ gotoAndPlay(11); } 延时函数: function showTime(second, option) { //延时函数 this.createEmptyMovieClip("t_mc", 9999); t = getTimer(); f = false; if ((getTimer()-t)>(second*1000)) { option(); } } function go() { //加入效果 jpg2._y = jpg2._y+77; jpg2._alpha = jpg2._alpha-15; } fscommand("fullscreen", "true"); createEmptyMovieClip("jpg1", 1); createEmptyMovieClip("jpg2", 2); jpg1.loadMovie("1.jpg"); jpg2.loadMovie("2.jpg"); i = 0; while (i<=100) { showTime(0.1, go); i = i+20; }   createEmptyMovieclip("pcking",1);   //新建一个空的Movieclip命名为pcking   function draw () {   //声明draw()函数     pcking.lineStyle(random(++i/100),++i*random(30),(++i/30));     //利用random函数取随机数来决定线条的颜色,粗细以及透明度     tempx=random(500);     tempy=10;     //声明变量,用来决定线段的开始端点的坐标     pcking.moveTo(tempx,tempy);     pcking.lineTo(tempx, tempy+300);     //用线段连接坐标为tempx,tempy的端点与坐标为tempx, tempy+300的端点   }   idDream=setInterval(draw,50);   //每隔50毫秒重复执行一次函数draw()
/
本文档为【Flash延时】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索