總體說明:
每個人玩FLASH一段時間后,肯定都會形成自己的一套開發(fā)習慣。好的習慣可以盡可能避免低級失誤和不必要的麻煩,從而加速開發(fā)進程,提高開發(fā)質(zhì)量。筆者現(xiàn)在雖然只是業(yè)余愛好者,但兩年的積累,也自然而然的形成了有自己特色的開發(fā)習慣。這些習慣從某種程度反映了筆者現(xiàn)在的開發(fā)水平,所以它基本上都是圍繞著小型、快捷、面向過程的開發(fā)模式形成的,很多地方還很幼稚。不過以后隨著筆者能力的不斷提高,以及對面向?qū)ο缶幊趟枷氲膶W習,它肯定還要不斷的更新和完善。
庫文件夾分類習慣:
* 聲音、圖片各自放到獨立的文件夾。
* MC則根據(jù)欄目進行分類到不同的文件夾。
* 一般不用圖形元件。
時間軸管理習慣:
* 最上層為AS層,如果AS層超過三層,則建立專門的AS圖層文件夾。多層AS層需要注意代碼執(zhí)行順序。
* 第二層為標簽層。
* 主場景其它圖層按欄目進行文件夾分類,但一個MC內(nèi)一般僅為一個欄目,不用分類。
* 相同性質(zhì)而且相互影響不大的元件放一層,其它的獨立分層,并按視覺效果進行上下分層。
* loading、過渡動畫、功能頁面分在不同的場景。
元件命名習慣:
* 庫中元件的命名:采用中文命名,后邊添加特定元件的后綴,比如我有一個“導航”的元件,按鈕則命名為:“導航BTN”,影片剪輯則命名為:“導航MC”。聲音和圖片則直接使用“導航”命名。
* 命名的三步統(tǒng)一性:即元件在庫中的名字,在場景中的實例名,以及所在層的名字盡量保持統(tǒng)一。比如一個元件在庫中的名字為:“導航MC“,則它在場景中的實例名將為“daohang_mc”,它所在的層名將為“導航”。這樣在元件非常多,代碼編寫量非常大的時候,可以有效的節(jié)省命名和查找時間,同時避免引用錯誤。
* 文本域命名:如果一個MC中僅有一個動態(tài)文本域,則統(tǒng)一命名為:“wenben_txt”,其變量名為“wenben_var”。如果有兩個以上動態(tài)文本域,則根據(jù)其功能進行命名。
架構(gòu)習慣:
* 三層分離:主場景數(shù)據(jù)層,動畫層,代碼功能層進行分離。由于數(shù)據(jù)加載完成時,會導致短暫的動畫不流暢,所以我一般在loading場景中把數(shù)據(jù)一起加載完成,然后進入動畫場景。大量的時間軸動畫又會導致項目結(jié)構(gòu)混亂,所以我一般又會把動畫也處理成獨立場景,將動畫最后一貞復制,然后建立新的功能場景并粘貼,所有的核心代碼都集中在功能場景中。
* MC結(jié)構(gòu):由于每個MC基本又相當一個獨立的小SWF,所以它的結(jié)構(gòu)也盡量遵從“三層分離”的思想。
* MC雙貞式:每個MC都保持兩貞。盡管大部分情況下,都可以用一貞完成任務,但我還是會專門留一貞,為可能的貞數(shù)據(jù)刷新留有余地。
* 元件嵌套結(jié)構(gòu)一般不超過三層,迫不得已的情況下,也要保證代碼不寫在三層以下的元件上。
* 外部調(diào)用SWF全部定義:_lockroot = true。
* 外部調(diào)用的SWF中絕不使用_level0,除非特別需要。
中文拼音面向過程結(jié)構(gòu)化代碼編寫習慣:
一、代碼分布:所有代碼均寫在時間軸上,一般都在第一貞,元件上絕不寫代碼。主場景上的代碼負責對整個系統(tǒng)的初始設置,各MC時間軸上的代碼各成一體。
二、代碼結(jié)構(gòu):(按代碼編輯器中從上到下的順序)
1、系統(tǒng)初始化:
①界面初始化:包括編碼設置,舞臺設置,元件可見性,可用性等等初始設置。
②變量初始化:時間軸或者全局變量初始化。
③數(shù)組初始化:初始需要的數(shù)組,并利用循環(huán)進行賦值。
④對象初始化:初始需要的所有對象,并注冊偵聽器。
2、代碼邏輯結(jié)構(gòu):這里是整個代碼的邏輯結(jié)構(gòu),一般通過一系列的函數(shù)調(diào)用使各種功能有機結(jié)合。
3、功能塊兒:一般按邏輯結(jié)構(gòu)中的順序定義各個功能塊兒,并封裝到函數(shù)中。
三、命名習慣:全部采用中文拼音全拼。
1、變量命名:使用“var”進行時間軸變量聲明,并且采用中文全拼命名,示例:var liuyan="";