WEB开发网
开发学院图形图像Flash Flash Actionscript 优化指南 阅读

Flash Actionscript 优化指南

 2008-09-10 11:29:31 来源: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++)
{
if (arr[i] > 50)
{
 // 进行某些操作
}
}

前者的效率比后者提高了30%,这个数字在你的游戏要逐帧执行这一段代码的时候显得更加宝贵!

高级优化:

1) for循环 和 while循环

用while循环将会得到比for循环更好的效率。然而,从数组中读取数据,用for in循环式最好的选择!

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Flash Actionscript 优化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接