tion %> 山东城玩麻将
當前位置:首頁 > 建站知識

flash web網游的一點點經驗

更新時間:2009.06.22 瀏覽次數:

富甲西游web版也已經內測快一個月了,這段時間bug不斷,修修補補雖然未曾停過,但沒像以前那么忙了。開發web網游也快1年了,談不上什么經驗,難的東西寫不出來,只能啰嗦點簡單的,隨便侃侃項目開發中的一些細節問題吧,算是經驗分享下。

1、關于配置文件的管理。這里提供2種方法:

a.硬編碼在一個類中,作為靜態方法提供。

優點:效率高。 缺點:更新起來麻煩,修改了配置文件就得重新編譯一次項目。

b.對于配置文件比較多,且修改頻繁的項目,就可以采取將所有配置文件打包到一個swf文件中,一個類對應一個配置文件,在文檔類中提供這些配置類的調用接口,這樣初始化的時候也只需加載一個swf文件,且容量比總xml文件也小很多,這樣也方便以后更新維護了。

 一般項目中都是將兩者結合起來用的。這里就只淺嘗輒止的提供一點思路而已。

2、關于資源的合理利用。因為現在快被flash的垃圾回收煩透了,所以這里強烈建議項目中的一些資源盡量做到重復利用,這里有兩個思路。

a.比如游戲中的道具,基本上都是一張圖片,對于那些唯一的組件,比如裝備欄,確保只實例化一個,這樣就可以以一個唯一的窗口作為一個資源池,將加載過的圖片保存到一個字典中,當字典中沒有對應的圖片的時候才加載。這樣做的優點:1>可以減少和服務器的連接次數節約帶寬,2>減少圖片的加載,從而盡可能少的降低垃圾回收的頻率。缺點:這樣做的話,內存占用會比較大,這個就可以根據項目的需求來定了,比如道具圖片,都比較小,基本上可以采用這種方法,提醒一下,數據緩存的清理這個時候就比較重要了。

b.這個方法就類似于flex中的皮膚處理了。將所有多次重用且容量較小的圖片打包到一個swf中,給每個資源圖片(這里不僅僅包括圖片,也可以是一些動畫mc等)對應一個鏈接名,項目中調用的時候,由于映射的是一個Class,所以可以只加載一個資源包,就可以取之不竭的調用對應的資源了,這個方法對于那些矢量動畫比較合適。優缺點基本同上,補充一個缺點就是這個方法比較的麻煩,資源多的話工作量可能會增加不少。

當然,采用這兩種方法的前提是,當你很在乎內存的占用情況,而且無視垃圾回收時帶來的短暫的性能影響(ms現在的player10垃圾回收有點點變態),并且確定某些資源清空了引用能夠被垃圾回收后就可以ws上面的2個方法。

3、關于代碼中注冊的事件偵聽。這里似乎是在啰嗦了,不過還是多嘴插一句,一定記得要將不用的事件偵聽器remove掉,當項目做大的時候,當你煩惱資源沒被回收的時候,你再想在海量的代碼中來找那些引用沒被清掉的時候,你就會感受到大海撈針的痛苦了。當然事件偵聽器只是引用的一種情況,但這也是只做過小項目后最容易被忽視的一個問題了,最后一句話,編程習慣最重要。

4、對于外部加載的swf,場景中有動畫的時候,加載進來后播放完畢時一定記得將播放的動畫stop掉,flash9導出的動畫是會自動重復播放的,如果移除的swf動畫沒被垃圾回收的時候,那些重復播放的動畫雖然沒在你的眼前跳動,但是它卻依舊搶占著你的cpu,當你發現顯示界面中沒有什么動畫,也沒有什么復雜的邏輯在處理的時候,發覺cpu有規律的時高時低的時候,就先想想這種情況吧。我是被這害過一次,以前發現當沒做任何計算處理的時候cpu竟然會間隔性的跑到30%左右了,之前一直以為是哪些地方寫的定時器忘記停掉了,費勁九牛二虎之力后才發現竟然是那些存留在內存中的swf動畫在搞惡作劇,著實郁悶了一段時間。 

哇,發覺夜很深了,就先嘮叨這些吧,都沒有什么難點,其實就是項目開發中的一些細節總結而已,個人認為,對于項目中的算法邏輯等,其實理清 了思路,查查資料都可以解決掉,決定一個項目開發進度的其實就是那些最容易被忽視的細節問題,而這些就需要經驗的不斷的積累總結了。但愿我的總結能夠給你 一些幫助。

烟台麻将规则 篮球即时比分网007 淘宝彩票比分竞猜 银行实物白银怎么买 体彩重庆百变王牌开奖结果 第一白银网比分预测 福建31选7最新开奖结果今天 半全场 球探比分app腾牛 腾讯欢乐麻将全集下载安装 东京热电影手机在线播放 手机比分网址 巴西vs智利比分预测腾讯 吉林11选5开奖记 吉林心悦麻将app下载 篮球比分直播捷报比分网 福州麻将有啥技巧