Flash Player帧频、Timer计时 的时间间隔
对于大部分Flash开发者,都已经知道Flash的帧频、Timer计时并不是十分精确的。如果您已经做过这方面测试,可以略过这篇文章的前面一部分,在后面有关于Flash Player可变跑道的文章链接,希望对您有帮助。这篇文章的主要目的是让一些不知道Flash计时不精确和知道但又没有做过测试的朋友,来分享我的测试结果。我使用的Flex开发工具,并创建了一个ActionScript项目。
测试我尽量使用最简单的代码,下面是针对于Timer的测试代码,设置了一个20毫秒每次的Timer,为了简单我只计时5次:
package
{
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.utils.getTimer;
public class TimerTest extends Sprite
{
// 定义一个计时器
private var timer:Timer;
// 记录上一次计时的时间
private var prev:int;
public function TimerTest()
{
// 计时器初始化为20毫秒执行一次,执行5次后结束
timer = new Timer(20, 5);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
// 启动计时器后,记录一下当前时间
prev = getTimer();
}
private function onTimer(event:TimerEvent):void
{
// 计时器执行,获取当前时间
var t:int = getTimer();
// 打印出当前时间与上一次计时的时间间隔
trace(t - prev);
// 记录下当前时间
prev = t;
}
}
}
/** 输出结果
26
28
38
27
20
**/
运行一下这个程序,可以看到输出的结果并不是准确的20毫秒,每次运行的结果都不一样,并且都大于等于20毫秒,由此可以得出Timer的计时并不是精确的。
继续看每次Flash帧频的时间间隔,这个测试例子中,设置了帧频为25帧每秒,理论上两帧之间的时间间隔为40毫秒(1000毫秒 / 25帧):
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
// 设置swf的帧频的25帧每秒
[SWF(frameRate = 25)]
public class EnterFrameTest extends Sprite
{
// 记录上一次计时的时间
private var prev:int;
public function EnterFrameTest()
{
// 监听ENTER_FRAME事件
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
// 记录当前时间
prev = getTimer();
}
private function onEnterFra
相关文档:
表面上都说啥技术,啥标准原因,其实实质原因都是商业因素。
苹果不肯开放flash,是因为flash本身也可以开发各种应用,直接跟
app sotre会相冲突,而且以前确实adobe也有过flash app store。
至于微软更不用说了,sliverright推广得
不成功,flash的太过于成功也是一个原因。
微软和苹果本来不是朋友,但敌人的敌人就是 ......
1。先下载flash player的xpi插件
http://fpdownload.macromedia.com/get/flashplayer/xpi/current/flashplayer-linux.xpi
2。解压缩一下,然后把plugins这个文件夹拷贝到chrome的安装目录(/opt/google/chrome)。
3。再在桌面上图标属性里面增加一个启动参数。
/opt/google/chrome/google-chrome %U --enable-plu ......
http://code.google.com/p/jofc2/ 这个是google对OFC做扩展的包 其中包含有 jofc2-1.0-0.jar,xstream-1.3.1.jar,两个.jar 档需要加入项目中
ofc下载: http://teethgrinder.co.uk/open-flash-chart/ 包括:open-flash-chart.swf,swfObject.js,json.js
http://hi.baidu.com/harbin%5Fsakura/b ......