Flex程序 帧 帧率

Flex程序是由两帧构成,第一帧用于加载程序和相关RSL等,第二帧才会执行swf。

进入第二帧后,FlashPlayer仍然按照指定的“帧频(时间间隔)”不断重新播放第二帧。这是FlashPlayer运行特点。

Flex组件框架也是借由这个运行特点(机制)监听“进入帧(ENTER_FRAME)”事件,然后更新各种属性、尺寸、重新绘制外观的。

(Flex程序本质上和Flash程序一样,也是影片剪辑。也会被FlashPlayer循环播放)

 

下面的例子可以测试帧频,同时也可以证明:

1. Flex程序在指定的“帧频”下,不断被重新播放。

2. 这个时间间隔不是绝对的相等,而是“差不多”的“等间隔”。

关键词:

frameRate:帧频。下例中的帧频被指定为1,也就是每隔1秒钟中重放第二帧

ENTER_FRAME:进入帧后,由FlashPlaer发出的帧事件

 

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" 
      frameRate="1"
      creationComplete="init()"
      >
 <fx:Script>
  <![CDATA[
   var temp:int = 0;
   
   public function init():void{
    //对帧重放进行监听
    this.addEventListener(Event.ENTER_FRAME,enterFrame);
    //txt.text = this.stage.frameRate+"\r\n";
   }
   
   public function enterFrame(e:Event):void{
    //在画面上记录进入帧的时间
    txt.text += (flash.utils.getTimer()-temp) + "\r\n";
    temp=flash.utils.getTimer();
    
    //为防止记录的内容过多,在记录部分时间后去掉监听
    if (txt.text.length >100)
    {
     this.removeEventListener(Event.ENTER_FRAME,enterFrame);
    }
   }
  ]]>
 </fx:Script>
 <s:TextArea id="txt" x="29" y="35" width="497" height="331"/>
</s:Application>

 

>>执行效果

从第二个数据开始,输出的时间间隔(时间差)基本相同


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值