文/任灝榕
現階段,智能手機已經得到廣泛應用,Java功能在移動設備中的應用,對手機增值服務產生較大影響,使人們對信息獲取方式更加便捷,日常生活變得更加豐富。在Java技術的基礎上J2ME誕生,主要應用在消費性電子產品當中,如手機、PDA應用等,目前J2ME技術的使用已經成為一種潮流,為移動游戲設計與開發提供了新思路。
J2ME技術是一種以消費性產品為目標的、高度優化的Java運行環境,其中包括移動電話、尋呼機、可視電話、汽車導航系統等等。Java作為計算機編程語言的一種,J2ME屬于其中十分重要的組成部分,在手機、PDA中得到廣泛應用。同時,Java作為開放平臺,能夠使更多開發商在其基礎上進行各項功能的設計與開發,手機用戶也可利用該技術體驗到更多動態、個性化的增值服務。與Java相比,J2ME在移動電話支持游戲能力上具有較大優勢,與WAP、SMS相比來看控制力更強,并且能夠借助無線網絡與服務器遠程連接,Java手機的普及為J2ME開創了更大的應用空間,使其在當前移動游戲開發中得到廣泛應用。
J2ME的運行環境為CDC與MIDP,對于完整的JRE來說,J2ME主要包括CLDC與MIDP兩個方面,其中,CDC能夠對JVM起到決定性作用,而MIDP的主要作用在于通過加入特定域的類對應用程序進行定義。CDC能夠在運行環境進行重新定義,使其成為一組核心類與特定類型設備中的JVM。雖然在J2ME中,一般將虛擬機看作為JVM的最終,但是其與KVM、CVM均屬于JVM的子集。CDC能夠將運行環境重新定義,使其成為一種特定的JVM,并且還可以對其他配置進行定義,如連接限制配置,能夠與KVM一同應用在16位或者32位設備當中,屬于J2ME中的小型虛擬機;連接設備配置,能夠與CVM虛擬機一同應用到內存大于2兆的32位體系結構當中,例如互聯網電視的機頂盒。
由于在Java編程過程中無需考慮到內存的使用情況,借助垃圾處理機制便能夠良好的進行垃圾清理,而在J2ME應用中,內存將變得十分寶貴。對于常規的智能手機來說,內存只有幾百K,在內存的使用上也應精打細算,否則即便程序中不存在邏輯與語法上的錯誤,也無法在模擬器中進行使用,阻礙了手機游戲的有效開發。對此,可以采用以下幾種開發技巧來應對內存問題。
(1)減少類成員的使用,盡量用本地變量替代,減少對象的創建數量,最好做到重復使用;
(2)禁止在初始化時將全部From或者Canvas對象一次性輸入到內存當中,而是在需要時創建,雖然這樣做會耽誤些時間,但能夠有效避免內存溢出的情況;
(3)對于無用對象應立即將其設置成null,使垃圾處理器能夠識別并將其清理,在合適的情況下使用Ststem.gc()語句,將垃圾處理器調出;
(4)盡可能減少圖片對字節數量的占用,利用Fire-works在確保圖片質量的前提下,改變圖片的尺寸大小;
(5)應牢記Java內存管理具有向邊機制,對于無用對象,切忌讓正在使用的對象指向它,以免無法做到及時回收。
在手機游戲的編寫過程中,為了游戲能夠更加吸引人,可以適當的借助圖片來提高表達效果,這也是游戲開發的技巧之一。在J2ME中,如若無法使文字的大小與字體發生改變,則會使游戲效果受到極大影響。對此,可以通過將特殊文字轉變為圖片的方式來解決此類問題,使游戲變得更加生動、豐富。例如,在等級欄中用五角星來表示游戲難度。另外,使用圖片的另一個優勢在于提高游戲的通用性,使游戲在不同手機中的顯示相一致。當出現在模擬器中字體顏色正常,在手機中顯示異常的情況時,也可以采用上述方式來解決。
本文將利用J2ME技術,對一款Java手機游戲進行開發,游戲名為“蜘蛛俠大戰奧特曼”。首先,用Eclipse建立該項目,并新建一個Midlet TicTacToe加入其中,然后將Game Screen與Choose Piece Screen等相關類加入其中。
在startApp()中,輸入以下代碼對圖片進行裝載,并通過信息框進行顯示:
Image logo=null;
Try
{logo=Image.create Image(”/logo.png”);
}catch(IOException)
Splash Sreen.setTimeout(4000);//延遲4秒
在該頁面停留4秒后進入到角色選擇頁面,該任務由Choose pirce Screen類來實現,對角色圖標進行裝載顯示,并對選擇好的角色進行確認。利用構造函數,將當前頁面的選擇方式定義為列表選擇,然后通過appeng()將圖片與列表中的文字一一對應,最后調用command Action相應用戶選擇的角色,并進行確認,這時便可以進入到游戲畫面開始體驗。
綜上所述,目前智能手機的功能逐漸多樣,在通話、短信等基礎功能之外,還具有娛樂、休閑、音樂、拍照等功能。其中,游戲軟件占有較大比重,作為開發商應積極將J2ME技術應用到Java手機游戲開發當中,對游戲軟件有更深的詮釋,并充分運用游戲開發技巧,使受限因素得以優化,為用戶帶來更好的手機游戲操作體驗。