|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
另外在属性面板中还增加了一个“设备”设置选项,需要说明的是“设备”设置功能在FlashPlayer环境中不能使用,需要FlashLite1.0或FlashLite1.1的支持才可以。
poluoluo中心提醒:Flashas3经常使用小技能.
1:String转换成Boolean- 1vars:String="true";2varb:Boolean=(s=="true");
复制代码 2:扫除一切子工具- 1while(container.numChildren>0)2{3container.removeChildAt(0);4}
复制代码 3:关于不必要鼠标交互的工具设置属性mouseChildren,mouseEnabled。4:尽量利用Vector类而不是Array类,Vector类的读写会见速率比Array类快。
5:经由过程为矢量分派特定长度并将其长度设为流动值,可进一步优化。
- 1//Specifyafixedlengthandinitializeitslength2varcoordinates:Vector.<Number>=newVector.<Number>(300000,true);3varstarted:Number=getTimer();4for(vari:int=0;i<300000;i++)5{6coordinates[i]=Math.random()*1024;7}8trace(getTimer()-started);9//output:48
复制代码 6:将重用的值存储在常量,可对下面实例进一步优化。- 1//Storethereusedvaluetomaintaincodeeasily2constMAX_NUM:int=300000;3varcoordinates:Vector.<Number>=newVector.<Number>(MAX_NUM,true);4varstarted:Number=getTimer();5for(vari:int=0;i<MAX_NUM;i++)6{7coordinates[i]=Math.random()*1024;8}9trace(getTimer()-started);10//output:47
复制代码 7:利用BitmapData的lock()和unlock()办法加速运转速率。8:关于TextField工具,请利用appendText()办法,而不要利用+=运算符。
9:利用中括号运算符大概会下降功能。将您的援用存储在当地变量中可制止利用该运算符。以下代码示例演示了利用中括号运算
符的效力很低:
- 1varlng:int=5000;2vararraySprite:Vector.<Sprite>=newVector.<Sprite>(lng,true);3vari:int;4for(i=0;i<lng;i++)5{6arraySprite[i]=newSprite();7}8varstarted:Number=getTimer();9for(i=0;i<lng;i++)10{11arraySprite[i].x=Math.random()*stage.stageWidth;12arraySprite[i].y=Math.random()*stage.stageHeight;13arraySprite[i].alpha=Math.random();14arraySprite[i].rotation=Math.random()*360;15}16trace(getTimer()-started);17//output:16
复制代码 以下优化的版本削减了对中括号运算符的利用:
- 1varlng:int=5000;2vararraySprite:Vector.<Sprite>=newVector.<Sprite>(lng,true);3vari:int;4for(i=0;i<lng;i++)5{6arraySprite[i]=newSprite();7}8varstarted:Number=getTimer();9varcurrentSprite:Sprite;10for(i=0;i<lng;i++)11{12currentSprite=arraySprite[i];13currentSprite.x=Math.random()*stage.stageWidth;14currentSprite.y=Math.random()*stage.stageHeight;15currentSprite.alpha=Math.random();16currentSprite.rotation=Math.random()*360;17}18trace(getTimer()-started);19//output:9
复制代码 10:尽量利用内联代码以削减代码中函数的挪用次数。比方:1currentValue>0?currentValue:-currentValue;
比上面这类快
11:制止盘算轮回中的语句。
不盘算轮回中的语句也可完成优化。以下代码遍历数组,但未举行优化,由于在每次遍用时都必要盘算数组长度:
- 1for(vari:int=0;i<myArray.length;i++)2{3}
复制代码 最好存储该值偏重复利用:- 1varlng:int=myArray.length;2for(vari:int=0;i<lng;i++)3{4}
复制代码 12:对while轮回利用相反的按次。
以相反按次举行while轮回的速率比正向轮回快:
- 1vari:int=myArray.length;2while(--i>-1)3{4}
复制代码 13:一般,利用尽量低的帧速度能够进步功能。
将多个Flash作品转化为屏保程序。◇所生成的屏保程序能进行全屏预览、窗口预览、设置密码等操作。 |
|