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 ......
最近在开发过程中发现一个问题:Boolean类型的值无法在flex和java间传递,经过一段研究发现,问题出现在Boolean类型的getter和setter方法上。
按照javabean的规范,小布尔类型的getter是以is做前缀的,但是大布尔类型的getter就成了以get为前缀了(大布尔作为引用类型,已经被视为普通 ......
eclipse一个项目中同时开发flex和j2ee的环境配置
因为工作需要,学了一周flex今天开始研究与服务器通信,选择了免费的BlazeDS。由于之前做项目用的是eclipse europa,就把flex builder 3 plugin直接安装到原有的eclipse上了,这样再配置的时候客户端编程用的flex和服务器端的J2EE就能整合到一个工程下了,希望对于暂时由js ......
这两天看了公司老总演示的一个效果,热图分布情况,感觉很直观。国内地图上很少有这种表现方式的。
g了一下发现以下:发现flex下有 IBM ILOG Elixir 可以用,不过这要花钱。
https://www.adobe.com/cn/products/flex/ibmilogelixir/
还有一个Heat API,可以再googlemap上叠加热图。
http://www.heatmapapi.com/ , ......