• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>文章内容
  • [AS功能代码教程01]Flash 通用延迟代码
  • 来源:大师之家 作者:FL基理大师 2007-08-20 【


[AS功能代码教程01]Flash 通用延迟代码

[AS 功能代码教程02]数字魔方及数组概念

[AS 功能代码教程03] 三角函数及应用

 




 使用方法
将下列代码写入fla的第一帧;在任意帧中写入delay();命令就可以实现3秒钟延时功效;

 
var fps:Number = 12;
//在Flash中默认的fps值为12,如果改动了默认fps值的话这里也要相应改动;
var delaytime:Number = 3;
//延时的秒数;
var counter:Number = 0;
//计数器的初值;
function delay() {
 onEnterFrame = function () {
  if (counter<delaytime*fps) {
   _root.stop();
   counter++;
  } else {
   delete this.onEnterFrame;
   counter = 0;
   _root.play();
  }
 };
}
/*涵数解释:当进入帧时,数delaytime*fps个数,完成倒数3秒且影片停止的工作(原因见注1);倒数3秒完成后删除该动作,影片播放的动作。*/
 
注1:《Flash充电:FPS(Frames Per Second);即每秒播放帧的数量,fla中默认的为12,意思就是说,默认fla动画是1秒钟播放12帧》。
有了这个小常识,那么执行一次onEnterFrame(进入帧),counter++就自加了1,那么一秒钟要加多少次呢?呵呵,1秒钟要进入12次帧,所以自加了12次。那么2秒钟,3秒钟呢…于是我们得出了这个delaytime(秒数)*fps(每秒进入的帧数);这就是总共要停留的时间。原理就是用帧数做延时。
注2:当该fla只有一帧且帧动作中有onEnterFrame,则不可使用上述delay()涵数,而要直接在onEnterFrame中输入如下代码:
var fps:Number = 12;
var delaytime:Number = 3;
var counter:Number = 0;
 if (counter<delaytime*fps) {
   counter++;
  } else {
   counter = 0;
  }



上一篇:[Flash基础理论课01]制作电子表   下一篇:水波效果的理论
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)


FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)