: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开奖遗漏
早点连锁加盟 大福来早点加盟 湖南特色早点加盟 上海早点加盟店 来加盟
早点粥加盟 湖南特色早点加盟 早点加盟连锁 品牌早餐店加盟 湖北早点加盟
连锁店加盟 早餐馅饼加盟 健康早点加盟 清真早餐加盟 小吃早点加盟
北京早点 早点包子加盟 早餐加盟哪家好 全球加盟网 早餐项目加盟
博彩现金网 幸运飞艇开奖视频链接 北京赛车pk10开奖直播 福建11选5开奖结杲 香港六合彩白小姐
贵州十一选五前三直 竟彩足球 大富豪棋牌游戏 网上买彩票 广东11选5
陕西11选5任七遗漏 内蒙古11选5 开奖 吉林11选5官 房卡麻将 时时彩开奖视频
幸运农场综合走势图 河北11选5开奖结果查询结果 重庆幸运农场走势图 河南11选5玩法 北京11选5开奖结果今天