Actionscript優化教程_Flash教程
推薦:數組排序方法介紹數組排序sortsort方法把數組元素按一定的順序重新排列,語法格式如下:myArray.sort([comparefunction])comparefunction是可選參數,假如不選用該參數,數
在這篇文章中,我們討論優化您的actionscript代碼的各種不同方法,我們業已起用一套標準以測試典型的游戲代碼和看看如何使Flash Player發揮最好的性能。
代碼優化簡介
在這篇文章中我們將要展示一些能夠使您的Flash游戲獲得更佳性能的技術。代碼優化非常重要,它能使Flash Player資源得到更好的利用,使游戲在不同硬件上都能平穩運行。
這篇文章主要著眼于Flash Player 6的性能問題和解決它們的可用技術上。
Flash Player 7發布以后,這里面的一些問題已經得以解決,整體性能得到了改進,但在寫作這篇文章時Flash Player 6正在流行,因此我們將把精力集中在這個版本
何時優化
對已有的代碼進行優化可能是一個耗時長而且困難的工作,這取決于原來的代碼不優化的程度。因此在投入無盡的時間之前最好先估計一下需要修改的代碼的范圍。
游戲代碼中最受爭議的通常是主循環部分,它在每一幀重復執行,對游戲角色、圖像和狀態數據進行更新。
主循環以外需要壓縮的代碼,可能是一些較長的循環結構:這時檢查您并不是在浪費時間和資源也非常重要。
毫無疑問,通過從代碼的不同部分節省若干毫秒,您的SWF文件將運行得更加平穩,您的游戲制作水平也將得到提高。
簡潔VS有效:
書寫十分簡潔和可重用的代碼(可能是面向對象的)是一門藝術,需要多年的經驗,但有時表現得太昂貴。
當使用上面提到的高水平的途徑應付有限的資源(就像Flash Player)時可能導致糟糕且不令人滿足的結果。
我們并不是說OOP有害于游戲編程,而是說它需要消耗更多的時間,有時“舊編程學校(old programming school)”可能會通向更好的結果。
總之,為了使代碼更簡單,多數情況下應該利用OOP。但是過一會您將在本文中看到為了充分挖掘Flash Player的每一點性能,有時您需要避免使用OOP,例如當處理快速滾動或運行非常復雜的數學計算時。
基本的優化
今天,當談及代碼優化時我們通常指的是速度的提高和不要占用太多的內存,甚至不太新的計算機都有足夠多的內存運行我們的Flash游戲(128MB對多數游戲來說都綽綽有余,如今一臺新機器的標準已是512MB)。
>>變量
使用要害字var聲明局部變量是最重要的優化方法之一。
局部變量可以更快地被播放器存取,當函數結束時可以被及時銷毀。
例如一段不算好的代碼如下所示:
function doSomething() {
mx = 100;
my = 100;
ar = new Array();
for (y=0; y<my; y ) {
for (x=0; x<mx; x ) {
i = (y*mx) x;
arr[i] = i;
}
}
return arr;
}
分享:運用for循環來對多個mc進行檢測然后復制以下代碼到第一楨,出效果。_root.createEmptyMovieClip(m,0);with(m){beginFill(0xff0000);moveTo(50,0);for(i=Math.PI/180;i=Math.PI*2
- 相關鏈接:
- 教程說明:
Flash教程-Actionscript優化教程
。