优化Flash Actionscript代码的三种方法
2008-06-05 11:22:45 来源:WEB开发网核心提示: 影片剪辑(MovieClip)的可视性[下面将MovieClip简称为mc]您可能会经常碰到这样一种情况:有大量不可见/屏幕外的mc等待出场(比如游戏中屏幕外的地图、人物等等),要知道,优化Flash Actionscript代码的三种方法(5),播放器仍然要消耗一定的资源来处理这些不可见
影片剪辑(MovieClip)的可视性[下面将MovieClip简称为mc]
您可能会经常碰到这样一种情况:有大量不可见/屏幕外的mc等待出场(比如游戏中屏幕外的地图、人物等等)。
要知道,播放器仍然要消耗一定的资源来处理这些不可见/屏幕外的mc,哪怕他们是单帧,非播放的状态。
最好的解决办法之一是给这些mc一个空白帧,当他们不出现在屏幕上时,你能用gotoAndStop()语句跳转到这一帧,从而减少播放器对资源的需求。
请务必记住,这种情况下,简单的设置可见度属性为不可见( _visible = false )是无效的,播放器将继续按照这些mc所停留或播放的帧的复杂度来分配资源。
数组
数组在各种需要记录数据的应用程序和游戏中都被广泛的使用。
一个典型的例子就是基于区块的Flash游戏,在这样一类的游戏中,地图有时被存放成形如arr[y][x]的二维数组。虽然这是一种很常见的方法,但是如果用一维数组的话,却能提高程序的运行效率。另一个重要的方法来提高数组效率是在数组遍历的时候使用for in 循环来代替传统的 for 或者while循环语法。
例如:
一段代码如下
for (var i in arr)
{
if (arr[i] > 50)
{
// 进行某些操作
}
}
它的执行速度明显高于这一段代码:
for (var i=0; i < 10000; i++)
前者的效率比后者提高了30%,这个数字在你的游戏要逐帧执行这一段代码的时候显得更加宝贵!
{
if (arr[i] > 50)
{
// 进行某些操作
}
}
高级优化:
1) for循环 和 while循环
用while循环将会得到比for循环更好的效率。然而,从数组中读取数据,用for in循环式最好的选择!
Tags:优化 Flash Actionscript
编辑录入:爽爽 [复制链接] [打 印]- ››ActionScript 2.0中的! 逻辑 NOT 运算符
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
更多精彩
赞助商链接