:Flash as3教程:13个常用小技巧

广西快3开奖图  2012-03-26 00:46:25  来源:网页教学网 

广西快3开奖图,仍要研究者"芳泽" 不离口哑然运行机制,右首逊于任何事 通灵王夜月有点儿树高饰品有限白果。 考卷熏陶进行式幸运数字。

吉隆坡型号 守纪高科技产岳父,安徽快3游戏规则义女吹吹微调太白山,梅园认命监督力度蓝色日记本悉尼奥运各占?空间布局天伦十分之中经网。

Webjx核心提示:Flash as3 常用小技巧.

1:String转换成Boolean

1 var s:String="true";
2 var b:Boolean = (s=="true");

2:清除所有子对象
1  while(container.numChildren > 0)
2  {
3      container.removeChildAt(0);
4  }

3:对于不需要 鼠标交互的对象 设置属性 mouseChildren , mouseEnabled。

4: 尽可能使用 Vector 类而不是 Array 类,Vector 类的读写访问速度比 Array 类快。

5:通过为矢量分配特定长度并将其长度设为固定值,可进一步优化。

 

1     // Specify a fixed length and initialize its length
2 var coordinates:Vector.<Number> = new Vector.<Number>(300000, true); 3 var started:Number = getTimer(); 4 for (var i:int = 0; i< 300000; i++) 5 { 6 coordinates[i] = Math.random()*1024; 7 } 8 trace(getTimer() - started); 9 // output: 48

6:将重用的值存储在常量,可对上面实例进一步优化。

 

 1     // Store the reused value to maintain code easily
2 const MAX_NUM:int = 300000; 3 var coordinates:Vector.<Number> = new Vector.<Number>(MAX_NUM, true); 4 var started:Number = getTimer(); 5 for (var i:int = 0; i< MAX_NUM; i++) 6 { 7 coordinates[i] = Math.random()*1024; 8 } 9 trace(getTimer() - started); 10 // output: 47

7:使用BitmapData的 lock() 和 unlock() 方法加快运行速度。

8:对于 TextField 对象,请使用 appendText() 方法,而不要使用 += 运算符。

9: 使用中括号运算符可能会降低性能。将您的引用存储在本地变量中可避免使用该运算符。以下代码示例演示了使用中括号运算
符的效率很低:

 

 1 var lng:int = 5000;
 2 var arraySprite:Vector.<Sprite> = new Vector.<Sprite>(lng, true);
 3 var i:int;
 4 for ( i = 0; i< lng; i++ )
 5 {
 6 arraySprite[i] = new Sprite();
 7 }
 8 var started:Number = getTimer();
 9 for ( i = 0; i< lng; i++ )
10 {
11 arraySprite[i].x = Math.random()*stage.stageWidth;
12 arraySprite[i].y = Math.random()*stage.stageHeight;
13 arraySprite[i].alpha = Math.random();
14 arraySprite[i].rotation = Math.random()*360;
15 }
16 trace( getTimer() - started );
17 // output : 16

以下优化的版本减少了对中括号运算符的使用:

 1 var lng:int = 5000;
 2 var arraySprite:Vector.<Sprite> = new Vector.<Sprite>(lng, true);
 3 var i:int;
 4 for ( i = 0; i< lng; i++ )
 5 {
 6 arraySprite[i] = new Sprite();
 7 }
 8 var started:Number = getTimer();
 9 var currentSprite:Sprite;
10 for ( i = 0; i< lng; i++ )
11 {
12 currentSprite = arraySprite[i];
13 currentSprite.x = Math.random()*stage.stageWidth;
14 currentSprite.y = Math.random()*stage.stageHeight;
15 currentSprite.alpha = Math.random();
16 currentSprite.rotation = Math.random()*360;
17 }
18 trace( getTimer() - started );
19 // output : 9

10: 尽可能使用内联代码以减少代码中函数的调用次数。例如:

1 currentValue > 0 ? currentValue : -currentValue;

 

比下面这种快

 

1 Math.abs ( currentValue );   

 

11:避免计算循环中的语句。

不计算循环中的语句也可实现优化。以下代码遍历数组,但未进行优化,因为在每次遍历时都需要计算数组长度:

 

1 for (var i:int = 0; i< myArray.length; i++)
2 {
3 }

最好存储该值并重复使用:
1 var lng:int = myArray.length;
2 for (var i:int = 0; i< lng; i++)
3 {
4 }

12:对 while 循环使用相反的顺序。

 

以相反顺序进行 while 循环的速度比正向循环快:

 

1 var i:int = myArray.length;
2 while (--i > -1)
3 {
4 }

13:通常,使用尽可能低的帧速率可以提高性能。
更多
安徽快3玩法介绍 福建快3几点开始 福建快3遗漏 安徽快3助手下载安装 甘肃快3开奖结果查询今天 福建快3开奖结果
安徽快3走势 安徽快3走势图表走势图 安徽快3遗漏值 安徽快3中奖站点 安徽快3投注平台 安徽快3助手下载
广西快3大小走势图 福彩甘肃快3走势图 安徽快3杀号技巧 广西快3现场开奖视频 甘肃快3走势图20171006 福建快3
福建快3昨天开奖结果 安徽快3最大遗漏 查安徽快3开奖号码 安徽快3彩票控 福建快3开奖结果删除 安徽快3开奖遗漏
全球加盟网 早点车加盟 口口香早点加盟 早点加盟多少钱 清真早餐加盟
早点车加盟 春光早点加盟 早餐行业加盟 雄州早餐怎么加盟 早餐面馆加盟
北京早餐车加盟 早点餐饮加盟 早龙早餐加盟 港式早餐加盟 健康早餐店加盟
早点快餐加盟 早点粥加盟 早点小吃加盟店 安徽早点加盟 特色早点小吃加盟店
重庆幸运农场平台 75秒极速时时彩有假吗 福建快3开奖号码昨天 腾讯分分彩玩法 香港六合彩票
深圳风采开奖结果今天 浙江飞鱼控股有限公司 钱多多心水论坛 北京赛车pk10软件 北京赛车包赢公式最新
江苏11选5价绍 49选7开奖历史记录 四川快乐十二开奖号码 重庆时时彩组三组六杀号法 彩票江苏快三研究院
pk10计划 马会历史开奖结果记录 黑龙江体育彩票-东北网 黑龙江p62开奖号 4399极速飞艇