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 cs5的朋友,这里提供了下载试用的测试。有兴趣可以下载。
同时其他产品系列也提供了。
Thank you for your interest in evaluating Adobe® Flash® Professional CS5 software. The trial version is fully functional and offers every featu ......
个人觉得这是标准与私有标准的PK, 就像微软的office和其他office软件,如金山wps,openoffice的竞争类似。
从用户角度看PK越多越好,呵呵。
http://www.javaeye.com/news/15856-apple-flash
http://www.w3school.com.cn/html5/index.asp
http://www.w3.org/TR/html5/
http://html5.org/ ......
FAT文件系统在NAND Flash存储器上的改进设计
嵌入式系统的大量数据都存储在其F1ash芯片上。根据Flash器件的固有特性,构建一个适合管理NAND Flash存储器的FAT文件系统,并阐述具体的设计思想。该系统改进了FAT表和FRT表的存储方式,延长了存储器的使用寿命,提高了稳定性。
&n ......
Apple has a long relationship with Adobe. In fact, we met Adobe’s founders when they were in their proverbial garage. Apple was their first big customer, adopting their Postscript language for our new Laserwriter printer. Apple invested in Adobe and owned around 20% of the company for many yea ......