- J2ME手機游戲設(shè)計與開發(fā)
- 劉暢 張旭輝編著
- 534字
- 2019-01-01 07:08:42
1.1 J2ME基本概述
1.1.1 Java概述
Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺的統(tǒng)稱。經(jīng)過多年的發(fā)展,Java已經(jīng)成為一個全面成熟的面向?qū)ο髴?yīng)用程序開發(fā)平臺,使用廣泛。
Java分為3個體系:J2SE、J2EE和J2ME。
J2SE,即Java2 Platform Standard Edition,Java平臺標準版。它是允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實時環(huán)境中使用的Java應(yīng)用程序。J2SE 包含了支持Java Web服務(wù)開發(fā)的類,并為J2EE提供基礎(chǔ),主要用于傳統(tǒng)且成熟的桌面系統(tǒng)。
J2EE,即Java2 Platform Enterprise Edition,Java平臺企業(yè)版。企業(yè)版本的Java平臺幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端Java2應(yīng)用程序。J2EE是在J2SE的基礎(chǔ)上構(gòu)建的,它提供Web服務(wù)、組件模型、管理和通信API,可以用來實現(xiàn)企業(yè)級的面向服務(wù)體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)和Web 2.0應(yīng)用程序。
J2ME,即Java2 Platform Micro Edition,Java平臺微型版。J2ME為在移動設(shè)備和嵌入式設(shè)備(比如手機、PDA、電視機頂盒和打印機)上運行的應(yīng)用程序提供一個健壯且靈活的環(huán)境。J2ME包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議,以及對可以動態(tài)下載的聯(lián)網(wǎng)和離線應(yīng)用程序的豐富支持。基于J2ME規(guī)范的應(yīng)用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個設(shè)備的本機功能。
Java的版本結(jié)構(gòu)如圖1-1所示。

圖1-1 Java的版本結(jié)構(gòu)
1.1.2 J2ME的體系結(jié)構(gòu)
J2ME根據(jù)其技術(shù)架構(gòu)分為簡表層(Profiles)、配置層(Configurations)和Java虛擬機(Java Virtual Machines,JVM)3層,然后在每一層中再細分。J2ME體系的一般結(jié)構(gòu)是由Configurations定義的Java虛擬機運行于設(shè)備的宿主操作系統(tǒng)(Host Operating System)之上,構(gòu)成整個平臺的基礎(chǔ)。Configurations提供了基本的語言特性,Profiles提供針對設(shè)備的特殊功能API和擴展類庫。應(yīng)用程序的運行環(huán)境需要一個Configuration和至少一個Profile,多個Profile可以共存,也可以疊加。J2ME的分層結(jié)構(gòu)如圖1-2所示。

圖1-2 J2ME 的分層結(jié)構(gòu)
Java虛擬機層針對設(shè)備操作系統(tǒng)定制的Java虛擬機的實現(xiàn),支持特定的J2ME配置,是J2ME運行的核心。
Configurations層的分類是根據(jù)計算能力的不同來劃分的,同類設(shè)備的計算能力相近。Configurations是一個規(guī)范,定義了這類設(shè)備的共同Java平臺,定義與設(shè)備無關(guān)的Java虛擬機和核心庫,是平臺相容性的基礎(chǔ)。Configurations定義了一個基本的J2ME運行環(huán)境,滿足該設(shè)備的Java虛擬機功能的最小子集和針對該族設(shè)備的Java類庫的最小集合,主要針對的是系統(tǒng)級的特性。
Profiles層的分類是根據(jù)設(shè)備功能劃分的,同類功能的設(shè)備的其他各種硬件條件和需求也相近。Profiles是一組API,在某一個Configuration的基礎(chǔ)上擴展了針對設(shè)備特定功能的API,使得標準能夠完全適應(yīng)特殊的設(shè)備,徹底發(fā)揮設(shè)備的功能。簡表Profiles是構(gòu)建在配置層Configurations之上的一層類庫,提供Configurations層中所缺失的功能以支持特定的設(shè)備,主要提供了應(yīng)用程序級的接口
注意:一個設(shè)備可以支持多個Profile。
1.1.3 J2ME規(guī)范
在國際上,有一個由Sun主導(dǎo)的標準化組織JCP(Java Community Process),該組織根據(jù)領(lǐng)域的不同,分為3個大的工作方向,即J2EE、J2SE和J2ME。而J2ME領(lǐng)域的標準的制定者,包括業(yè)界知名的運營商,如Vodafone、Orange、中國移動等;終端制造商,如Nokia、Motorola、Sumsung等;提供Java虛擬機的廠商,如IBM、Aplix、Esmertec等;以及一些感興趣的公司團體。
JCP中的每個規(guī)范被稱為JSR(Java Specification Request)。各個JSR分別從不同的角度對Java虛擬機的能力進行了規(guī)范,并對應(yīng)一個數(shù)字編號,如JSR75規(guī)定了Java應(yīng)用如何通過虛擬機提供的接口來訪問終端操作系統(tǒng)的PIM數(shù)據(jù)和文件系統(tǒng)。此外,還包括針對藍牙、多媒體、短信、彩信等的規(guī)范。而這些規(guī)范的發(fā)布、更新和維護由JCP來統(tǒng)一管理,確保了讓業(yè)界不同角色的廠商能夠共同參與定義J2ME平臺的能力,共同推進Java技術(shù)向前發(fā)展。
JTWI(Java Technology for the Wireless Industry,JSR185)正是為了完成“建立一個標準來保證J2ME應(yīng)用程序的跨平臺性”這個目的而出現(xiàn)的。
JTWI對如下的一些方面進行了規(guī)范,實現(xiàn)JTWI的設(shè)備必須遵守這些規(guī)范。
(1)規(guī)定了標準應(yīng)用程序的大小,設(shè)備必須支持64KB大小的應(yīng)用程序和5KB大小的JAD文件。持久性存儲的大小為30KB,heap空間從MIDP 2.0中的128KB提高到256KB。
(2)記事功能,可以使用PushRegistry的registerAlarm()方法來實現(xiàn)。
(3)JSR185對設(shè)備的屏幕尺寸建議為125×125/12bit。設(shè)備必須支持JPEG格式的圖片。HTTP1.1必須被支持。
(4)JSR185是基于WMA的,因此設(shè)備必須具備發(fā)送和接受短消息的能力,JSR185還規(guī)定,應(yīng)用程序在準備發(fā)送短消息的時候,當提供了TextField和TextBox組件時,應(yīng)該可以給用戶彈出本機的電話本以供選擇。
(5)對移動多媒體進行支持,必須實現(xiàn)對MIDI和單音的支持。
表1-1中列舉了一些在J2ME發(fā)展史上比較重要的JSR及其功能描述。
表1-1 J2ME規(guī)范及其功能描述
1.1.4 手機平臺開發(fā)
隨著手機的迅速普及和不斷更新,人們對于手機的要求已不單單是通信,還有很多增值服務(wù)及娛樂功能,所以手機平臺上的軟件開發(fā)已經(jīng)成為IT產(chǎn)業(yè)中增長最快的部分之一。
手機已經(jīng)與現(xiàn)代生活方式緊緊地結(jié)合在一起。它們是人們最普遍攜帶的個人用品中僅次于鑰匙和錢包的東西。你可以隨時看到一個人在任何地點低頭擺弄自己的手機,巨大的使用量使得手機平臺上的軟件開發(fā)成為一個非常具有潛力的行業(yè),尤其是手機游戲的開發(fā)。那么由于手機平臺具有自己獨特的性質(zhì),它也為手機游戲開發(fā)提出了獨特的要求。
1.手機游戲的優(yōu)勢
(1)規(guī)模小、周期短:由于手機平臺硬件設(shè)備上的限制,所以手機游戲通常不需要大量的人力、物力,三五個人的團隊即可,而且開發(fā)周期很多,如果有較好的構(gòu)思和創(chuàng)意,可能一周甚至幾天就可以完成一個手機游戲的開發(fā)。
(2)網(wǎng)絡(luò)支持:隨著手機的不斷發(fā)展,手機對于網(wǎng)絡(luò)的支持已經(jīng)比較成熟,因此對于一些聯(lián)網(wǎng)游戲的開發(fā)也提供了很大的空間。
(3)龐大的用戶群:以目前的手機市場規(guī)模來看,已經(jīng)是人手一機,而且因為手機隨身攜帶方便,已經(jīng)逐漸取代MP3、MP4、電子書及游戲機。
2.手機游戲的限制
(1)內(nèi)存空間有限:盡管手機在不斷地發(fā)展,無論是硬件平臺還是各種各樣的智能系統(tǒng)都不能改變手機在內(nèi)存及硬件空間上無法與普通計算機比擬的現(xiàn)狀,所以在進行手機游戲開發(fā)時要注意應(yīng)用程序的大小。
(2)屏幕大小:現(xiàn)在的手機已經(jīng)在盡可能地節(jié)省空間,擴大屏幕,例如全觸屏的實現(xiàn),但是為了保持它隨身攜帶的方便,屏幕沒有辦法無限大,這樣在進行游戲開發(fā)時畫面大小與美工排版都是開發(fā)者需要考慮的問題。
(3)耗電:手機功能的不斷完善是對手機電池的一種考驗,在進行游戲開發(fā)時除了考慮到手機性能之外,還要考慮耗電的問題,這個問題可能更多的時候要從美工的角度來考慮。
3.成功的手機游戲應(yīng)具有的特征
(1)可中斷性:當用戶在玩游戲時,突然有電話進來,這時正在進行的游戲就會中止,這就要求游戲程序必須能夠自動暫停游戲的執(zhí)行,而且保存玩家的進度。
(2)短時間的游戲:因為手機游戲往往是在一些短的時間間隙來進行的,例如候車、等人,所以設(shè)計的游戲要在一個相對較短的時間內(nèi)給玩家一個過關(guān)的游戲體驗。
(3)小型化:手機游戲一定要小型化,適合在手機平臺上玩,避免游戲加載時間過長,避免元素過多,避免界面混亂。
(4)易于學(xué)習:既然手機游戲面向的是普通消費者而不是計算機高手,那么他們不可能深入地學(xué)習游戲技巧,更不可能像網(wǎng)絡(luò)游戲一樣會有一本專門的游戲攻略,所以游戲必須是一下載就可以玩的。
- Mastering Proxmox(Third Edition)
- LabVIEW虛擬儀器從入門到測控應(yīng)用130例
- 中文版Photoshop CS5數(shù)碼照片處理完全自學(xué)一本通
- Linux Mint System Administrator’s Beginner's Guide
- 離散事件系統(tǒng)建模與仿真
- Mastering Elastic Stack
- Windows環(huán)境下32位匯編語言程序設(shè)計
- Practical Big Data Analytics
- 網(wǎng)絡(luò)安全技術(shù)及應(yīng)用
- 貫通開源Web圖形與報表技術(shù)全集
- 電動汽車驅(qū)動與控制技術(shù)
- Creating ELearning Games with Unity
- 計算機硬件技術(shù)基礎(chǔ)(第2版)
- 洞察大數(shù)據(jù)價值:SAS編程與數(shù)據(jù)挖掘
- 中老年人學(xué)數(shù)碼照片后期處理