Bug!Flex帧频自动1000!
用Flex4加载Flex3的组件时,发现了这个问题:
当用spark添加一个mx组件时不会有问题,但当这个mx组件中还有其他组件
例如<mx:HBox><mx:Canvas/></mx:HBox>被添加到<s:Group></s:Group>
(注:通过AS代码使用addElement()添加,而不是直接写到mxml中)
stage.frameRate会瞬间达到1000!
之后会自动恢复到默认的帧频(如果不手动设定,会是24)
这时不用担心什么问题,
但如果frameRate达到1000的这段时间中,添加了一个EnterFrame事件,
并且在EnterFrame的响应函数中,调整某个组件的位置,
frameRate就不会恢复回24,而是一直持续1000,直到取消了EnterFrame为止
但即使没有使用EnterFrame函数,这个时间也会持续0.3秒左右,
如果这期间有图像变化,会明显感觉到卡了一下,
因此尽量避免写代码时Flex3,4混用,能用Flex4的组件尽量用Flex4的组件
源码如下:
Application.mxml:
<?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="12"
backgroundColor="0xFF00FF">
<fx:Script>
<!--[CDATA[
import components.MyComponent;
import mx.containers.HBox;
import mx.core.UIComponent;
import mx.events.FlexEvent;
protected function button2_clickHandler(event:MouseEvent):void
{
trace(this.stage.frameRate);
this.txt.text = "Current FrameRate:"+this.stage.frameRate.toString();
}
protected var _box:UIComponent;
protected function button3_clickHandler(event:MouseEvent):void
{
_box = new MyComponent();
this.container2.removeAllElements();
this.container2.addElement(_box);
button2_clickHandler(null);
button4_clickHandler(null);
}
protected function enterFrameHandler(event:Event):void
{
if(_box){
container1.x+=0.2;
}
}
protected function button4_clickHandler(event:MouseEvent):void
{
// this.moveEffect.play([this.container2]);
this.addEventListener(Event.ENTER_FRAME,this.enterFrameHa
相关文档:
之前写了《 flex 事件之理解》和《 flex meta tag 之理解》,本想是为写本文 flex 数据绑定之理解做铺垫的,谁知网上已有 flex 数据绑定之理解很好的文章,如下:
http://www.cnblogs.com/nianshi/archive/2010/05/19/1739407.html , FLEX ......
转自:http://hi.baidu.com/wosinmaiken/blog/item/ee59f7a8f72604bdca130c24.html
/**ceil 向前(数轴向右)取整(返回值为Number)**/
trace(Math.ceil(10.4)); //11
trace(Math ......
eclipse一个项目中同时开发flex和j2ee的环境配置
因为工作需要,学了一周flex今天开始研究与服务器通信,选择了免费的BlazeDS。由于之前做项目用的是eclipse europa,就把flex builder 3 plugin直接安装到原有的eclipse上了,这样再配置的时候客户端编程用的flex和服务器端的J2EE就能整合到一个工程下了,希望对于暂时由js ......
拖动水平滚动条来改变图片大小。
<?xml version="1.0"?>
<!--
Simple example to demonstrate the HSlider control.
水平拖动条。
MyShareBook.cn 翻译   ......
Learning Flex in a week – Day1
Flex,Flash,Flash
Player,AIR概述
了
解Flex Builder
Flex
Builder工作空间
了
解Flex预编译组件
了
解MXML
组
件的数据绑定
处
理用户事件
了
解事件对象
使
用ActionScript添加事件侦听器
使
用HttpService获取数据 ......