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
相关文档:
应为设计要求, 我需要计算String的宽度,
搜索了下网上的文章, 看到有用measureText(string)的,
可是用了下发现, 这个function得到的string大小, 不会根据字体的大小, 粗黑的变化,
始终返回同一个值, 也许是我的用法不对, 最后我没有这个方法,
改用了另外一个方法:
private function getTextWidth():int
{
&nbs ......
最近在研究flex技术,flex和flash的交互,flex和Java的通信。下边是一个flex控制swf文件中元件的范例,刚接触flex,如有不对的地方,大家多提意见。
mxml文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
&n ......
原文地址:http://blog.163.com/to_yht/blog/static/1227257742009741359326/
当程序做完后,你是否还在为老套的flex组件默认效果发愁?是否还在为怎样设置自己的皮肤忙碌。那么这些可能是你需要的。
一 超酷皮肤主题推荐:
1. kingnarestyle:
下载地址:http://code.google.com/p/kingnarestyle/
2.Carbo ......
1.java
Java代码
package com;
public class LoginDemo {
public String validate(String username,String password){
&nb ......
Flex里面,DataGrid的column的width属性不接受百分比,只接受一个具体的像素值,所以,如果想按照比例来设置列宽需要费些周折。Google了一下,有两种方法可以做到: 第一种方法,不要设置width为百分比,而设置为一个小数,所有列的小数值的和必须为1。 <mx:DataGrid width="100%" height="100%" ......