Flash AS3常用的13个编程技巧

【转自e良师益友网

下面分享的是13个Flash AS3常用的小技巧,你可以学习Flash AS3编程课程实例教程,了解更多相关知识可登录e良师益友网。

1:String转换成Boolean

var s:String="true";

var b:Boolean = (s=="true");

2:清除所有子对象

while(container.numChildren > 0)

{ 3 container.removeChildAt(0);

}

3:对于不需要 鼠标交互的对象

设置属性 mouseChildren , mouseEnabled。

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

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

// Specify a fixed length and initialize its length

var coordinates:Vector.= new Vector.(300000, true);

var started:Number = getTimer();

for (var i:int = 0; i< 300000; i++)

{

coordinates[i] = Math.random()*1024;

}

trace(getTimer() - started);

// output: 48

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

// Store the reused value to maintain code easily

const MAX_NUM:int = 300000;

var coordinates:Vector.= new Vector.(MAX_NUM, true);

var started:Number = getTimer();

for (var i:int = 0; i< MAX_NUM; i++)

{

coordinates[i] = Math.random()*1024;

}

trace(getTimer() - started);

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

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

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

var lng:int = 5000;

var arraySprite:Vector.= new Vector.(lng, true);

var i:int;

for ( i = 0; i< lng; i++ )

{

arraySprite[i] = new Sprite();

}

var started:Number = getTimer();

for ( i = 0; i< lng; i++ )

{

arraySprite[i].x = Math.random()*stage.stageWidth;

arraySprite[i].y = Math.random()*stage.stageHeight;

arraySprite[i].alpha = Math.random();

arraySprite[i].rotation = Math.random()*360;

}

trace( getTimer() - started );

// output : 16

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

var lng:int = 5000;

var arraySprite:Vector.= new Vector.(lng, true);

var i:int;

for ( i = 0; i< lng; i++ )

{

arraySprite[i] = new Sprite();

}

var started:Number = getTimer();

var currentSprite:Sprite;

for ( i = 0; i< lng; i++ )

{

currentSprite = arraySprite[i];

currentSprite.x = Math.random()*stage.stageWidth;

currentSprite.y = Math.random()*stage.stageHeight;

currentSprite.alpha = Math.random();

currentSprite.rotation = Math.random()*360;

}

trace( getTimer() - started );

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

1 currentValue > 0 ? currentValue : -currentValue;

比下面这种快
Math.abs ( currentValue );

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

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

for (var i:int = 0; i< myArray.length; i++)

{

}

最好存储该值并重复使用:

var lng:int = myArray.length;

for (var i:int = 0; i< lng; i++)

{

}

12:对 while 循环使用相反的顺序。以相反顺序进行 while 循环的速度比正向循环快:

var i:int = myArray.length;

while (--i > -1)

{

}
13:通常,使用尽可能低的帧速率可以提高性能。

时间: 2024-10-12 18:39:55

Flash AS3常用的13个编程技巧的相关文章

单片机应用编程技巧问答

1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言.其主要优点是占用资源少.程序执行效率高.但是不同的CPU,其汇编语言可能有所差异,所以不易移植. C语言是一种结构化的高级语言.其优点是可读性好,移植容易,是普遍使用的一种计算机语言.缺点是占用资源较多,执行效率没有汇编高. 对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM.RAM.STACK等资源都有限,如果使用C语言编写,一条C语言指令编译

VC/MFC 编程技巧大总结

1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐:<java编程思想> 4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", SW_HIDE); c. ShellExecute ShellExecute(NULL,

15个提高编程技巧的JavaScript工具

原文地址:http://www.imooc.com/wenda/detail/243523 JavaScript脚本库是一个预先用JavaScript语言写好的库,它方便了我们开发基于JavaScript的应用程序,特别适合AJAX和其他一些以Web为中心的技术.JavaScript主要用于编写嵌入或者包含在HTML页面的函数,从而实现DOM之间的交互. 这篇文章收集了15个可用于提高编程技巧的JavaScript工具,助你轻松快速完成工作.下面的这些JavaScript工具能让你管理Javas

转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式

Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关于AS3加载图片等外部资源,我常用的有两种方式:Loader和Embed,各自的特点,总结如下: Embed:在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的:这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大swf文件的体积 Loader:在

java命名规范和编程技巧

一个好的java程序首先命名要规范. 命名规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,方便维护等作用 Package 的命名 Package 的名字应该都是由一个小写单词组成. Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用一个小写字母开头,后面的单词用大写字母开头. Static Final 变量的命名  Static Final 变量的名字应该都大写,并且指出完整含义. 参数的命名

分享25个实用的博客,有助你提高编程技巧

编程是一个不断变化的领域,一旦你选择了它作为你的职业,你就不可能停下学习的脚步了.因为科技的发展月新日异,要跟得上它发展的脚步,你必须不断地努力学习.在Forbes.com最近发表的一篇文章(25 Practical Blogs To Sharpen Your Coding Skills)中,作者Tomas Laurinavicius 推荐了25个他认为很适合程序员或学习编程的人在工作或学习中阅读的博客. 1. Scott Hanselman 在微软担任网络平台开发的Scott Hanselma

Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)

原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之--找出Matlab内置函数中,已经大概的介绍了matlab内置函数在混合编程中的优点,并通过程序找出了matlab中的大部分内置函数,当然更多人关心是如何像我所说得那样,不用直接编译,就直接在C#中调用这些内置函数.本文就带你揭开这些谜团. 声明,这篇文章是需要一点点混合编程基础的,基本概念和过程要懂一点,如果能简单成功混编一个简单的计算或者绘图例子

Matlab.NET混合编程技巧之——找出Matlab内置函数

原文:[原创]Matlab.NET混合编程技巧之--找出Matlab内置函数 Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破脑袋,加班几个晚上,调试才能解决.同样,由于Matlab.NET混编的特殊性,加上MathWorks的原因,英文文档和没有披露一些详细的细节(甚至不允许反编译MWArray.dll,呵呵,它不允许,不代表你不会哦).经过很多项目,和大量的实验,也发现了一些小技巧和小秘密,今天就分享其中一个,先做一个

偏执却管用的10条Java编程技巧

本文由 ImportNew - LynnShaw 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得很快),我们开始感谢那些好习惯.因为,你知道… “任何可能出错的事情,最后都会出错.” 这就是人们为什么喜欢进行“防错性程序设计”的原因.偏执的习惯有时很有意义,有时则不够清晰也不够聪明,也许当你想到这样写的人的时候还会觉得有点怪异.下面是我列出的的个人感觉最有用而又偏执的 10 项 Java 编程