DFdou's Blog Life is short,Be yourself.

7kankan11bookekzwС˵Ҫ · uawx鶼Ķ ðƴӢ ޴½
3103/092

Flash-ENTER_FRAME,Timer,setInterval,setTimeout AND frameRate

ENTER_FRAME跟帧频直接相关,而Timer和setInterval,setTimeout则和帧频完全木有关系。

修正:刚看了下F1关于Timer类的部分:
包 flash.utils
类 public class Timer
继承 Timer EventDispatcher Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

Timer 类是 Flash Player 计时器的接口。 可以创建新的 Timer 对象,以便按指定的时间顺序运行代码。 使用 start() 方法来启动计时器。 为 timer 事件添加事件侦听器,以便将代码设置为按计时器间隔运行。
可以创建 Timer 对象以运行一次或按指定间隔重复运行,从而按计划执行代码。 取决于 SWF 文件的帧频或 Flash Player 的环境(可用内存及其它因素),Flash Player 会能会按稍有偏差的间隔调度事件。 例如,如果某个 SWF 文件设置为以每秒 10 帧 [fps](也就是 100 毫秒的间隔)的速度播放,但计时器设置为在 80 毫秒时触发事件,则 Flash Player 将按接近于 100 毫秒的间隔触发事件。 大量耗费内存的脚本也可能使事件发生偏差。
SO,Time和帧频是有关系的~

另外,Flash CS3帮助文档中推荐使用Timer而不要再使用setInterval,setTimeout,setInterval可以用Timer直接代替,而setTimeout可以用Timer(xxx,1)代替。
用于测试的代码如下,PS:Flash帧频设置为1。

//ENTER_FRAME 每秒输出一个enterframe
btn_e.addEventListener (MouseEvent.CLICK,showEnterframe);
function showEnterframe (_vet:MouseEvent) {
	stage.addEventListener (Event.ENTER_FRAME,enterframe);
	function enterframe (_evt:Event) {
		trace ("enterframe");
	}
}

//Timer 每10毫秒输出一个timer
btn_t.addEventListener (MouseEvent.CLICK,showTimer);
function showTimer (_vet:MouseEvent) {
	var t:Timer=new Timer(10);
	t.addEventListener (TimerEvent.TIMER,timer);
	t.start ();
	function timer (_evt:TimerEvent) {
		trace ("timer");
	}
}
//setInterval
btn_i.addEventListener (MouseEvent.CLICK,showInterval);
function showInterval (_vet:MouseEvent) {
	var i=setInterval(showI,1000);
	function showI () {
		trace ("setInterval");
	}
}

Flash里帧频的极限是0.01-120,如果设置超过了,Flash Player将使用它能达到的最大帧频或者最小帧频运行。
Flash中无法达到很精确的时间,因为这跟运行Flash的硬件有很大的关系。

Some Related Posts

Comments (2) Trackbacks (0)
  1. 而Timer和setInterval,setTimeout则和帧频完全木有关系

    有关系的~~
    ————————————————————————————————————————————————————http://hi.baidu.com/zidiqingfeng/blog
    zidiqingfeng´s last blog ..·<html>·for…in在javascript的应用 My ComLuv Profile

    [Reply]

    DFdou Reply:

    @zidiqingfeng, 恩,。刚看了下F1,的确是的,,,更正下更正下~

    [Reply]


Leave a comment

:zhuang :xizao :wuwu :wenhao :wc :touxiang :shuaya :shuajian :shengtian :paopao :no :meinv :maonv :loveu :leilei :kua :jrjr :dahan :chi :chaocai :byebye


CommentLuv Enabled

No trackbacks yet.