使用方法:
将下列代码写入fla的第一帧;在任意帧中写入delay();命令就可以实现3秒钟延时功效;
思路:
1.使用FPS和onEnterFrame配合完成.
2.Flash动画默认1秒钟播放12帧,即FPS为12。
3.执行一次onEnterFrame(进入帧),counter++自加1,那么一秒钟要加多少次呢?1秒钟要进入12次帧,所以自加了12次。那么2秒钟,3秒钟呢…于是我们得出公式 总延迟时间 = 延迟秒数 * FPS 原理就是用帧数做延时。
AS代码:
var fps:Number = 12;
//在Flash中默认的fps值为12,如果改动了默认fps值的话这里也要相应改动;
var delaytime:Number = 3;
//延时的秒数;
var counter:Number = 0;
//计数器的初值;
function delay() {
onEnterFrame = function () {
if (counter < delaytime * fps) {
this.stop();
counter++;
} else {
delete this.onEnterFrame;
counter = 0;
this.play();
}
};
}
注意:当该 AS 帧动作中有 onEnterFrame,要直接在onEnterFrame中输入代码:
var fps:Number = 12;
var delaytime:Number = 3;
var counter:Number = 0;
if (counter < delaytime * fps) {
counter++;
}
else {
counter = 0;
}
Flash充电: FPS概念
FPS(Frames Per Second): 即每秒播放帧的数量,Flash中默认值为12,就是说:默认Flash动画是1秒钟播放12帧。