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