畢業(yè)設(shè)計---手機網(wǎng)絡(luò)版小說閱讀器設(shè)計與開發(fā)_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  手機網(wǎng)絡(luò)版小說閱讀器設(shè)計與開發(fā)</p><p><b>  摘要</b></p><p>  近年來,隨著信息技術(shù)的飛速發(fā)展,移動通訊與互聯(lián)網(wǎng)的融合日趨明顯,作為電子商務(wù)領(lǐng)域的新生力量——移動商務(wù),開始成為傳統(tǒng)電子商務(wù)的有益補充,顯示出巨大的發(fā)展?jié)摿统砷L空間。移動商務(wù)以其靈活、簡單、方便的特點正受到越來越多人的關(guān)注,人們迫切希望能夠享受到移動商

2、務(wù)帶來的便利。 國內(nèi)外越來越多的廠商在Sun公司、摩托羅拉、西門子等公司的技術(shù)支持下開始開發(fā)基于J2ME平臺的無線應(yīng)用服務(wù)。J2ME 是SUN 公司針對嵌入式、消費類電子產(chǎn)品推出的開發(fā)平臺,與J2SE 和J2EE 共同組成Java 技術(shù)的三個重要的分支。J2ME 實際上是一系列規(guī)范的集合,由JCP 組織制定相關(guān)的Java Specification Request(JSR)并發(fā)布,各個廠商會按照規(guī)范在自己的產(chǎn)品上進行實現(xiàn),但是必須要通過

3、TCK 測試,這樣確保兼容性 。J2ME平臺由于自身的特點,己經(jīng)成為當前業(yè)界流行的無線應(yīng)用開發(fā)支柱平臺。利用J2ME提供的功能,電子商務(wù)、企業(yè)的商務(wù)應(yīng)用等都可以擴展到無線上來,基于J2ME平臺的手機應(yīng)用開發(fā)已經(jīng)成為熱點。本文首先分析了J2ME在當前移動終端發(fā)展中所具有的重要角色,選擇J2 ME作為移動終端</p><p>  關(guān)鍵詞: 移動設(shè)備,J2ME,MIDP,閱讀器</p><p>

4、  Mobile STAND-ALONE NOVEL DESIGN AND DEVELOPMENT OF READER</p><p><b>  Abstract</b></p><p>  In recent years, along with the information technology rapid development, Mobile communi

5、cation and the Internet fusion is day by day obvious, took the electronic commerce domain the strength for new life-Mobile Commerce, started to become the tradition electronic commerce the beneficial supplement, demonstr

6、ated the huge development potential and the growth space.The motion commerce by its nimble, simple, the convenient characteristic is receiving the more and more many person's attention, the pe</p><p>  T

7、he J2ME platform as a result of own characteristic, oneself after becomes the current field popular wireless application development prop platform.The function provides which using J2ME, electronic commerce, enterprise&#

8、39;s commerce using and so on all may expand wireless to comes up, already became the hot spot based on the J2ME platform handset using the development..This essay first analyses the important role of J2 ME in thedevelop

9、ment of mobile terminal, the advantage of choosing J2ME as the </p><p>  Keyword: Mobile equipment, J2ME, MIDP, Reader</p><p><b>  目 錄</b></p><p><b>  1 引言3</

10、b></p><p>  1.1 課題背景3</p><p>  1.2 研究目的3</p><p>  1.3 論文組織結(jié)構(gòu)3</p><p>  2 J2ME技術(shù)概覽3</p><p>  2.1 開發(fā)環(huán)境3</p><p>  2.2 J2ME的概念3</p>

11、;<p>  2.3 J2ME簡介3</p><p>  2.3.1 J2ME架構(gòu)3</p><p>  2.3.2 JVM ( 虛擬機 )3</p><p>  2.3.3 MIDP( 移動信息設(shè)備簡表 )3</p><p>  2.4 Java Appication Manager3</p><

12、;p>  3.1 本程序需解決的有關(guān)技術(shù)問題3</p><p>  3.2 程序流程3</p><p>  3.3 Canvas類3</p><p>  3.4 Graphics類3</p><p>  3.5 MIDP1.0技術(shù)下的繪制背景技術(shù)3</p><p>  3.6 MIDP2.0新增的G

13、ameCanvas包3</p><p>  3.7 PNG圖片格式3</p><p>  3.8內(nèi)存的優(yōu)化3</p><p>  3.9 內(nèi)存檢測器3</p><p>  3.10 關(guān)于混淆器3</p><p>  4 程序分析和具體實現(xiàn)3</p><p>  4.1 手機閱讀器讀

14、取文本3</p><p>  4.2 系統(tǒng)設(shè)計3</p><p>  4.2.1 基本概念3</p><p>  4.2.2 軟件設(shè)計任務(wù)3</p><p>  4.2.3 總體設(shè)計3</p><p>  5手機游戲開發(fā)過程中的困難3</p><p>  5.1 手機軟件開發(fā)存在的困

15、難3</p><p>  5.1.1 移動開發(fā)存在的問題3</p><p>  5.1.2 操作環(huán)境不兼容性問題3</p><p>  5.1.3 不同的屏幕尺寸問題3</p><p>  5.2 解決方案3</p><p><b>  6 總結(jié)與展望3</b></p>

16、<p>  6.1 J2ME手機游戲的優(yōu)勢3</p><p>  6.2 J2ME手機軟件的開發(fā)意義3</p><p><b>  參 考 文 獻3</b></p><p><b>  致 謝3</b></p><p><b>  1 引言</b></p

17、><p><b>  1.1 課題背景</b></p><p>  手機是人們?nèi)粘I钪兴玫姆浅nl繁的通信工具,雖然現(xiàn)在其費用比有線電話高,但是其隨時隨地的溝通優(yōu)勢,使人們擺脫了線路的束縛。手機及其他無線設(shè)備越來越多的走進普通百姓的工作和生活,隨著信息網(wǎng)絡(luò)化的不斷進展,手機及其他無線設(shè)備上網(wǎng)絡(luò)勢在必行。目前幾乎人手一部或幾部手機,正是由于手機的高普及率,使得無線移動商務(wù)

18、才得以迅速普及和發(fā)展。</p><p>  隨著通訊技術(shù)的發(fā)展及手機的普及 ,人們正在不斷地給手機增加新的功能 ,其中 ,使手機實現(xiàn)一般只有 PC機才具有的功能——下載各種程序并運行 ,是目前手機發(fā)展的一個重要方向。為此 ,人們提出了各種各樣的解決方案 ,其中基于 JAVA的 J2ME方案無疑是最引人注目的。</p><p>  JAVA技術(shù)已經(jīng)從一種最初用來編寫與硬件無關(guān)的嵌入式系統(tǒng)的編

19、程語言變成了一種與廠商無關(guān)、與硬件無關(guān)的健壯的服務(wù)器端技術(shù),它使整個企業(yè)界可以全面發(fā)掘以Web為核心的應(yīng)用程序的巨大潛力。隨著JAVA技術(shù)的不斷更新提高,J2ME技術(shù)的出現(xiàn),使得手機游戲越來越成為我們關(guān)注的焦點。J2ME技術(shù)目前最流行的就是在制作手機游戲方面,JAVA手機的出現(xiàn)使得這一技術(shù)更有它的用武之地,發(fā)揮著他靈活、輕便、快捷的作用。近幾年,由于微處理器性能的大幅提升,加上無線通訊技術(shù)的突破,手持式移動設(shè)備開始受到大眾的青睞。短短幾

20、年內(nèi),手機已經(jīng)升級了幾代產(chǎn)品,普及率逐年攀升,生產(chǎn)效率不斷上升,產(chǎn)品價格比個人電腦的摩爾定律有更驚人的下調(diào),以至手機是大多是城市居民不可缺少的一件隨身設(shè)備。繼短信、彩信等服務(wù)之后,中國移動提供基于Java的百寶箱業(yè)務(wù),應(yīng)用產(chǎn)品遍及商務(wù)應(yīng)用、信息獲取、英漢互譯、游戲娛樂等多媒體領(lǐng)域。根據(jù)官方公布的統(tǒng)計數(shù)據(jù),我國移動電話用戶已突破3億。依托這樣的市場,一旦無線Java應(yīng)用大規(guī)模開展起來,將會創(chuàng)造出比短信業(yè)務(wù)更為驚人的利潤。Java語言原先的

21、開發(fā)目的與市場的需求不謀而合,并且也已經(jīng)成為手機應(yīng)用程序開發(fā)</p><p><b>  1.2 研究目的</b></p><p>  隨著人們對快節(jié)奏的學(xué)習充電的重視,對移動閱讀的需求也相應(yīng)增大,為了滿足人們移動閱讀的愿望,因此我們急需J2ME開發(fā)一款能滿足人們?nèi)粘i喿x得簡潔方便的手機軟件。既然閱讀器面向的是普通消費者而不是計算機專家,那么他們不可能深入的學(xué)習使用技

22、巧。保持程序操作的簡易是最基本的要求。閱讀器最基本的功能包括:載入圖書、前進、后退、存檔、讀取書簽,更換背景。并且閱讀器還可以閱讀網(wǎng)絡(luò)上的資源,實現(xiàn)資源利用的最大化。此外,該程序可下載到手機上,隨時隨地的進行閱讀,這樣就可以通過這種方式開發(fā)一些學(xué)習軟件,使手機用戶可有一個隨身學(xué)習的工具書。</p><p>  1.3 論文組織結(jié)構(gòu)</p><p>  本篇論文共分為七個部分:包括引言,J2

23、ME技術(shù)概覽,需求分析、程序結(jié)構(gòu)和相關(guān)技術(shù),程序分析和具體實現(xiàn),困難總結(jié),前景展望和結(jié)論,參考文獻及致謝。其中第四部分“程序分析和具體實現(xiàn)”是本篇論文的重點。整篇論文都是圍繞著這一部分來展開論述的,在這一部分里詳細介紹網(wǎng)絡(luò)版手機閱讀器的開發(fā)全過程和開發(fā)過程中存在的疑難問題。其中包括:手機閱讀器如何讀取文本,J2ME文本閱讀器中的文本格式,讀取文本文件的主要技術(shù)實現(xiàn),將文本文件內(nèi)容顯示出來的技術(shù)實現(xiàn),閱讀器中的菜單設(shè)計技術(shù)實現(xiàn)。</

24、p><p>  通過對J2ME的詳細介紹我們可以從中了解到其自身的作用,近年來,隨著JAVA手機的誕生,其無可替代的靈活性與輕便性致使JAVA手機游戲成為游戲市場的又一亮點,它的前景無可限量,必將在我們以后的生活中發(fā)揮著重要的作用。</p><p>  2 J2ME技術(shù)概覽</p><p><b>  2.1 開發(fā)環(huán)境</b></p>

25、<p>  操作系統(tǒng):Microsoft Windows XP</p><p>  程序語言:Java 2</p><p>  開 發(fā) 包:Java(TM) 2 Standard Edition (5.0) Sun Micro. J2ME Wireless Tool Kit 2.2</p><p>  IDE:Eclipse 3.01</p

26、><p>  2.2 J2ME的概念</p><p>  J2ME的全稱是Java2 Micro Edition (J2ME)——Java2技術(shù)微型版,與J2SE、J2EE一樣都是有美國SUN微系統(tǒng)公司提出的JAVA技術(shù)規(guī)范。</p><p>  2.3 J2ME簡介</p><p>  J2ME是為了能夠開發(fā)運行在小型設(shè)備、獨立設(shè)備、互聯(lián)移動設(shè)

27、備、嵌入式設(shè)備上的JAVA應(yīng)用程序而被提出的。J2ME是建立在一個由概要描述、配置、JAVA虛擬機和操作系統(tǒng)等部分組成的標準架構(gòu)之上的,這些內(nèi)容共同組成了完整的J2ME實時運行環(huán)境。它的技術(shù)核心是由一個JAVA虛擬機( JVM )及一套適合運行在上述設(shè)備環(huán)境上的API接口構(gòu)成。</p><p>  J2ME在1999年的JavaOne開發(fā)人員大會上初次亮相,它的目標是面向智能無線設(shè)備和小型計算設(shè)備的開發(fā)人員,這些

28、開發(fā)人員需要在他們的產(chǎn)品中整合跨平臺的能力。</p><p>  無線設(shè)備和小型計算設(shè)備的消費者期望這些設(shè)備能夠有較高的性能。他們希望小型計算設(shè)備有快速的響應(yīng)時間,與同種設(shè)備相兼容,擁有功能完備的應(yīng)用程序。消費者希望桌面計算機和筆記本電腦上的軟件和功能同樣能夠運行在移動電話和個人數(shù)字助理上。</p><p>  為了滿足他們的需求,開發(fā)人員必須重新考慮他們設(shè)計計算機系統(tǒng)的方式。開發(fā)人員需要

29、利用商業(yè)計算機上現(xiàn)有的前端和后端軟件的計算能力,并將這些能力傳遞到微型、移動和無線的計算設(shè)備上。J2ME能夠以最小的修改來實現(xiàn)這種傳遞,如果應(yīng)用程序的設(shè)計是可伸縮的,應(yīng)用程序就可以適應(yīng)小型計算設(shè)備上有限的資源。</p><p>  J2ME為在小型電子設(shè)備上創(chuàng)建性能卓越的網(wǎng)絡(luò)應(yīng)用提供了一套完整的解決方案,能很好的解決軟件跨平臺的兼容性和安全性的問題。</p><p>  Java技術(shù)在無線

30、應(yīng)用方面的優(yōu)勢非常明顯:</p><p>  1. 應(yīng)用程序可按需下載,而不是購買由硬件商提供的套件,可升級空間大。</p><p>  2. Java技術(shù)提供了一個類庫,它使的應(yīng)用開發(fā)商可以創(chuàng)建更為直覺、豐富的用戶界面(GUI);</p><p>  3. Java技術(shù)使網(wǎng)絡(luò)帶寬的應(yīng)用更為有效,因為應(yīng)用程序可以下載到器件上,并在本地運行,僅僅是在連接到服務(wù)器

31、時才會占用網(wǎng)絡(luò)帶寬。</p><p>  基于以上分析,Java手機將是未來手機的發(fā)展方向,是業(yè)界的熱點。</p><p>  2.3.1 J2ME架構(gòu)</p><p>  J2ME架構(gòu)的模塊化設(shè)計使應(yīng)用程序可以靈活適應(yīng)小型計算設(shè)備的限制。J2ME架構(gòu)沒有替代小型計算設(shè)備的操作系統(tǒng)。相反,J2ME架構(gòu)由位于原生操作系統(tǒng)之上的多層軟件組成,這些軟件共同稱為“連接有限設(shè)

32、備配置”(Connected Limited Device Configuration, CLDC)。安裝在操作系統(tǒng)之上的CLDC形成了小型計算設(shè)備的運行時環(huán)境。</p><p>  J2ME架構(gòu)由3個軟件層組成:第一層是包括在內(nèi)的配置層,這個層次直接與原生操作系統(tǒng)進行交互。配置層還處理profile和JVM之間的交互。第二層是profile層,由小型計算設(shè)備的應(yīng)用程序編程接口(API)的最小集合組成。第三層是M

33、obile Information Device Profile( MIDP )層。MIDP層由用戶網(wǎng)絡(luò)連接、永久存儲和用戶界面的java API組成。它還能夠訪問CLDC庫和MIDP庫。</p><p>  2.3.2 JVM ( 虛擬機 )</p><p>  JVM是專門為微型電子設(shè)備與資源受限設(shè)備如:手機、尋呼機、移動互聯(lián)網(wǎng)設(shè)備、家用微電子設(shè)備等設(shè)計的一種輕便、緊湊的JAVA虛擬機

34、。</p><p>  JVM可以為微型電子設(shè)備提供一個完整的JAVA運行環(huán)境,除了一些微型設(shè)備所必需的適當?shù)墓δ苡兴煌?,它是由JAVA虛擬機規(guī)范定義的真實的JAVA虛擬機。它是專門為那些受資源限制,只有幾百K字節(jié)內(nèi)存的微型設(shè)備設(shè)計的。</p><p>  JVM起初是由SUN微系統(tǒng)實驗室為一個名叫“Spotless”的項目創(chuàng)建的。它的目標是為資源受限制的Palm(是目前較為流行的掌上

35、電腦操作系統(tǒng))可連接的電子設(shè)備,實現(xiàn)一個java虛擬機。</p><p>  基于上述原因,JVM具有以下幾個特點:</p><p> ?。?)小,僅具有40KB至80KB的靜態(tài)內(nèi)存。</p><p><b> ?。?)輕便、精巧。</b></p><p> ?。?)模塊化并可定制。</p><p&g

36、t; ?。?)盡可能完全緊湊的完成設(shè)計目的。</p><p>  2.3.3 MIDP( 移動信息設(shè)備簡表 )</p><p>  MIDP是專門為互聯(lián)受限設(shè)備配置設(shè)計的,它為移動設(shè)備提供了一套API集合,MIDP包含用戶界面類、持久存儲功能與網(wǎng)絡(luò)功能。它同時也包括一個供用戶下載新應(yīng)用到終端設(shè)備的標準運行環(huán)境。運行在MIDP下的小應(yīng)用程序叫做MIDlet移動設(shè)備小應(yīng)用程序,它與Applet

37、類似。MIDP要求平臺設(shè)備提供一個機制用來存儲簡單的數(shù)據(jù)記錄,通過正常的平臺事件,比如重新啟動和電池更新維護系統(tǒng)的完整性。</p><p>  MIDP是以SUN、Motorola、Nokia為中心的MIDPEG組織(Mobile Information Profile Expert Group)所制訂出來使用在CLDC上的Profile,是以能使用在移動電話、雙向?qū)χv機、可無線通信的PDA(個人數(shù)字助理)上面為

38、前提設(shè)計出來的。另外,像日本國內(nèi)的NTT DoCoMo、J-PHONE、KDDI等電信商與移動電話制造商也都曾參與了MIDPEG。</p><p>  MIDP是在CLDC的功能上附加提供適合目標設(shè)備用的GUI與事件處理功能。這樣一來,就可以當成MIDP應(yīng)用程序(MIDlet)來運行了。</p><p>  MIDP由于是由多個企業(yè)所共同策劃出來的開放標準,因此主要的移動電話制造商也會制

39、造出大量的對應(yīng)機種。也就是說,以MIDP為基準所制作出來的應(yīng)用程序,也將可以在流通于市面上的移動電話上執(zhí)行。</p><p>  另外,MIDP不僅限于移動電話,也已經(jīng)被移植到PDA Palm OS上,而以MIDP for Palm OS的名字來稱呼(與KJava是不同的)。在不使用各電信商的擴展API的時候,制作給移動電話用的MIDlet也將可以使用在Palm OS上面。由于未來MIDP也將會搭載到不同設(shè)備之上

40、,也由于其兼容性高,只要寫過一次程序,就可以在其他移動電話或是移動電話以外的設(shè)備上執(zhí)行;而這也就是它最大的好處。</p><p>  2.4 Java Appication Manager</p><p>  手機中負責調(diào)配程序運行資源的管理后臺是Java Application Manager。它所使用的傳輸媒體可以是紅外線、網(wǎng)絡(luò)、以及其他可用來傳輸?shù)拿襟w。Java Applicatio

41、n Manager 會從網(wǎng)絡(luò)上下載代表該Application Suite 的JAR 檔,接著在手機上安裝此MIDlet Suite,然后在手機開始執(zhí)行該應(yīng)用程序。整個詳細的運作流程如圖2-1所示。</p><p>  3 需求分析、程序結(jié)構(gòu)和相關(guān)技術(shù)</p><p>  3.1 本程序需解決的有關(guān)技術(shù)問題</p><p>  1.隨著人們對一定閱讀的需求增大,我們

42、急需一款能滿足人們?nèi)粘i喿x手機軟件,既然閱讀器面向的是普通消費者而不是計算機專家,那么他們不可能深入的學(xué)習使用技巧。保持程序操作的簡易是最基本的要求。閱讀器最基本的功能包括:載入圖書、前進、后退、存檔、讀取書簽,更換背景。</p><p>  2.用戶運行閱讀器時需要有書簽記錄的功能。這就需要進行適當?shù)脑O(shè)計。記錄書簽的存儲方式也需要有較好的解決方案。手機中由于處理器和內(nèi)存空間、存儲空間都十分有限,其數(shù)據(jù)庫系統(tǒng)與普

43、通PC大相徑庭。其數(shù)據(jù)庫結(jié)構(gòu)較為簡單,被稱之為RMS系統(tǒng)。</p><p>  3.手機應(yīng)用程序是一項精度要求很高的程序系統(tǒng),因為其代碼利用率很高。一個實時運行的最終作品,每秒都會運行成千上萬行程序,繪圖事件、鍵盤事件都會以極高的頻率在后臺等待響應(yīng),若有絲毫的差別都將很容易導(dǎo)致程序在運行不久后可能出現(xiàn)嚴重錯誤,甚至死循環(huán)。因此,其邏輯設(shè)計應(yīng)當相當嚴謹,需將所有可能發(fā)生的事件及意外情況考慮在設(shè)計中。</p&g

44、t;<p>  4.為了美觀,適用性強,可能需要采用外部文件引入的圖片貼圖,有關(guān)貼圖,在MIDP2.0中提供了用于增強游戲功能的game包,使得解決靜態(tài)或動態(tài)、畫面背景、屏幕刷新的雙緩沖等都有較好的解決方案。</p><p>  5.程序的結(jié)束、開始、動態(tài)信息畫面作為構(gòu)成一個完美程序都是必不可少的重要部分。良好的用戶界面更是吸引用戶的硬指標,相關(guān)的美術(shù)構(gòu)圖也需要有一定的考慮。</p>

45、<p>  6.Java是基于虛擬機的半解釋型編譯系統(tǒng),其執(zhí)行效率較C++等完全編譯后的程序會低很多,程序如果不進行精簡和優(yōu)化,將可能導(dǎo)致運行的不流暢。除開發(fā)過程中對結(jié)構(gòu)上的控制、變量的使用、算法的優(yōu)化等優(yōu)化外,還可以使用混淆器(Obfuscator)進行程序打包后的優(yōu)化。</p><p>  以上相關(guān)技術(shù)細節(jié)和整體流程將分別在以下小節(jié)闡述。</p><p><b> 

46、 3.2 程序流程</b></p><p>  MIDlet suite是MIDP應(yīng)用程序的最小單位,JAM負責將手機內(nèi)的MIDlet suite以圖形化的方式呈現(xiàn),讓用戶能夠選取欲執(zhí)行的MIDlet suite,一旦選取了某個MIDlet suite,操作系統(tǒng)就會激活KVM執(zhí)行里面的MIDlet。MIDlet及相關(guān)的支持類組成了MIDP應(yīng)用程序的實際內(nèi)容。</p><p> 

47、 每個MIDlet都必須繼承javax.microedition.midlet.MIDlet這個抽象類。在MIDP規(guī)格中定義了MIDlet的生命周期,以及可以存在的三種狀態(tài),包括Paused、Active以及Destroyed,每一個MIDlet在任何時刻只可能處于其中的一個狀態(tài)。</p><p>  這三種狀態(tài)的轉(zhuǎn)換關(guān)系如上圖所示:</p><p>  MIDlet的三個狀態(tài),pause

48、、active和destroyed.在啟動一個MIDlet的時候,應(yīng)用管理軟件會首先創(chuàng)建一個MIDlet實例并使得他處于pause狀態(tài),當startApp()方法被調(diào)用的時候MIDlet進入active狀態(tài),也就是所說的運行狀態(tài)。在active狀態(tài)調(diào)用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet進入destroyed或者pause狀態(tài)。值得一提的是destroyApp

49、(boolean unconditional)方法,事實上,當destroyApp()方法被調(diào)用的時候,AMS通知MIDlet進入destroyed狀態(tài)。在destroyed狀態(tài)的MIDlet必須釋放了所有的資源,并且保存了數(shù)據(jù)。如果unconditional為false的時候,MIDlet可以在接到通知后拋出MIDletStateChangeException而保持在當前狀態(tài),如果設(shè)置為true的話,則必須立即進入destroyed狀

50、態(tài)。</p><p>  本程序采用面向?qū)ο蟮脑O(shè)計模式,對游戲中的所有物體賦予對象的概念和屬性。運行程序后允許用戶選擇執(zhí)行選項菜單,在開始運行后將先從外部文件載入背景圖片文件,對背景的所有物體進行繪圖。</p><p>  3.3 Canvas類</p><p>  為了能有程序開發(fā)人員控制接口的外觀和行為,需要使用大量的初級用戶接口類,尤其在游戲程序中,幾乎完全依

51、賴的就是Canvas抽象類進行繪圖。從程序開發(fā)的觀點看,Canvas類可與高級Screen類交互,程序可在需要時在Canvas中摻入高級類的組件。Canvas提供了鍵盤事件、指點桿事件(如果設(shè)備支持),并定義了允許將鍵盤按鍵映射為游戲控制鍵的函數(shù)。鍵盤事件由鍵代碼指定,但這樣控制游戲會導(dǎo)致缺乏通用性,并不是每個設(shè)備的鍵盤布局都適合游戲的操作。應(yīng)當將鍵代碼轉(zhuǎn)換為游戲鍵的代碼,以便硬件開發(fā)商能定義他們自己的游戲鍵布局。</p>

52、<p>  3.4 Graphics類</p><p>  Graphics類提供了簡單的2D繪圖功能。它具有24位深度色彩的繪制能力,以三原色分別各占一個字節(jié)表示其顏色。程序只能在paint()函數(shù)中使用Graphics繪制,GameCanvas可調(diào)用getGraphics()函數(shù)直接繪制在緩沖區(qū)上,可以在任何時間請求傳輸?shù)角芭_。其對象會被傳給Canvas的paint()函數(shù),以便最終顯示。<

53、/p><p>  3.5 MIDP1.0技術(shù)下的繪制背景技術(shù)</p><p>  在沒有MIDP2.0前,進行游戲繪圖一般需要手動編程使用雙緩沖。需要在paint()方法內(nèi)將所想要畫的圖形畫在一張預(yù)先準備好的背景上,等所有繪圖操作都完成后再將背景的數(shù)據(jù)拷貝到實際的屏幕上。Image類提供了一個建立背景的靜態(tài)方法createImage(int width, int height),再利用getG

54、raphics()方法取得屬于這個背景的Graphics對象,所進行的繪圖操作都會作用在背景上,等到全部的繪圖操作完成后,再調(diào)用drawImage()方法將背景的數(shù)據(jù)復(fù)制到實際顯示的屏幕上。</p><p>  這樣的技術(shù)在繪制動畫時特別有用。繪制動畫時經(jīng)常需要不斷地更新畫面,而更新畫面的操作就是先將屏幕以fillRect()的方式清除,再將下一張圖片畫在屏幕上,然而反復(fù)的清除及重繪會造成屏幕的閃爍現(xiàn)象(flic

55、ker),因此使用雙重緩沖的好處就是在背景進行這個清除及重繪的操作,再將完成的繪圖拷貝到屏幕上,由于用戶看不到清除的操作,因此就不會出現(xiàn)閃爍的現(xiàn)象了。不過在某些MIDP的實現(xiàn)上已經(jīng)加上了雙重緩沖的支持,因此在處理前應(yīng)先利用Canvas類的isDoubleBuffer()方法來判斷。</p><p>  3.6 MIDP2.0新增的GameCanvas包</p><p>  J2ME的流行促

56、進幾個運營商和制造商開發(fā)了一些支持游戲的類,但是,這卻造成了游戲缺乏可移植性的問題,例如,很難將使用Siemens的Sprite類的游戲移植到Nokia上。</p><p>  在MIDP2.0版本發(fā)布后,這些游戲移植性問題初步得到了解決。MIDP2.0新加入了</p><p>  GameCanvas、Sprite、Layer、LayerManager、TiledLayer五個與游戲開發(fā)

57、相關(guān)的類。其中 Layer類一般不會直接用到。</p><p>  Game類的出現(xiàn)不僅降低了錯誤出現(xiàn)的幾率,也使游戲代碼變的更小,因為開發(fā)者不需要自己編寫象Sprite這種例子。下面將簡要介紹Game類。</p><p>  GameCanvas類繼承自Canvas,所以具有Canvas所具有的功能,還額外增加了一些便于游戲設(shè)計的功能。比如: GameCanvas類直接提供了getKey

58、States(),使程序員可以在同一個線程自己偵測按鍵的狀態(tài)。GameCanvas類提供了flushGraphics()的功能,實現(xiàn)了雙緩沖技術(shù)。</p><p>  所謂的Sprite,就是畫面上獨立移動的圖形。</p><p>  Sprite類是繼承自Layer的用于存儲多楨的基本可視元素。不同的frame可交相顯示,構(gòu)成動態(tài)的效果。圖片可翻轉(zhuǎn)、顛倒、由一個主角圖片就可以方便的得到所

59、有方向的顯示狀態(tài),相比原先只能使用Canvas繪圖,需要將所有方向的主角圖象都繪制在png圖象中簡化了許多。Sprite也可以從整合的圖象中讀圖,讀圖時將把大圖分解為若干等寬等高的小圖。每個小圖按照其排列順序有相應(yīng)的序號,在程序中調(diào)用其序號,就可以繪制出相應(yīng)的圖片。</p><p>  LayerManager提供控制整體畫面層的控制。它包括了一系列自動獲取了代號和位置的層,簡化了各層加入游戲畫面的過程,提供了自

60、動排序和繪制的能力。</p><p>  LayerManager存儲了一個層的列表,新的層可以用函數(shù)附加、刪除和插入。層的序號相當于坐標的Z軸,0層表示最接近用戶視覺,層數(shù)越高,離用戶越遠。層號總是連續(xù)的,即使有中間的層被移除,其他層的序號會作相應(yīng)的調(diào)整以保持整體的完整性。LM中的View Window控制著與LM相對坐標的可視區(qū)域。改變View Window的位置可以制造出滾動屏幕的效果。</p>

61、<p>  TiledLayer是有一組圖象格元素組成的整塊虛擬圖象。該類使不需要高分辨率的圖象就能創(chuàng)建大幅圖面成為可能。這項技術(shù)通常應(yīng)用在2D游戲平臺的滾動背景的繪圖。一塊整圖可被分割成等大小的圖象格,每塊格有其對應(yīng)的序號,按照行列遞增。多塊小格可由大塊同時替換組合而模擬動態(tài)的背景,這不需要逐塊替換所有的靜態(tài)圖象格而顯得非常方便。</p><p>  3.7 PNG圖片格式</p>

62、<p>  PNG(Portable Network Graphics)格式是MIDlet唯一支持的圖象格式,PNG具體格式由PNG Specification,Version 1.0定義的。PNG格式提供透明背景的圖象,這對繪制游戲畫面和閱讀效果極有幫助。</p><p>  PNG格式圖片中包含許多定義其圖片特性的冗余部分(Chunks)。這些代碼包含在每一個單獨的png格式圖象中,然而如果將多個p

63、ng圖象合并在一張幅面稍大一些的整圖中,多個chunks就可以得到精簡,圖片的大小可以得到控制。使用Image類中的createImage函數(shù)可從整圖中分割出所需要的元素。在Game包中的TiledLayer和Sprite類都整合了這樣的功能。本程序中的地圖元素都集成在一張beijing.png圖片中,實現(xiàn)了方便的管理和程序體積的精簡。</p><p><b>  3.8內(nèi)存的優(yōu)化</b>&

64、lt;/p><p>  手機內(nèi)存空間小,所以在程序設(shè)計時應(yīng)該注意以下幾點,以盡量減少內(nèi)存的使用:</p><p>  (1)盡量縮短命名的長度。在應(yīng)用程序內(nèi),對于所建立的類、接口、方法及變量名而言,都需要賦予一個識別的名稱,所命名的名稱每多一個字符就會在類文件內(nèi)多產(chǎn)生一個字節(jié),對于一個較復(fù)雜的應(yīng)用程序而言就會增加為數(shù)不小的數(shù)據(jù)量。所有這些可以借助混淆器來幫助實現(xiàn)</p><

65、p>  (2)所有代碼寫為一個類。</p><p>  (3)只使用一個線程。</p><p>  (4)盡量不使用靜態(tài)變量。</p><p>  (5)將PNG圖片合并成一張,減少圖形數(shù)據(jù)的大小。</p><p>  將PNG格式的小分辨率圖象合并在一張大的高分辨率圖象中,由于減少了頭文件的大小,將比合并前的總大小減少許多。</

66、p><p><b>  3.9 內(nèi)存檢測器</b></p><p>  Wireless Tool Kit提供了許多在運行時監(jiān)視運行狀態(tài)的工具。 包括內(nèi)存狀況的檢測(手機上的內(nèi)存空間十分有限,必須時刻關(guān)注機載內(nèi)存是否大于程序所能使用到的最大可能的內(nèi)存空間),網(wǎng)絡(luò)狀況的檢測,運行函數(shù)的跟蹤等。 內(nèi)存檢測器是內(nèi)存跟蹤測試隨時間變化的調(diào)試器。其中,允許強制垃圾回收(Garbag

67、e Collection)。由于Java語言中,不像許多其他的如C++語言,不需要指定回收函數(shù)中特定不使用的資源,資源回收機制將自動清空無效變量占用的空間。在程序運行中也可以調(diào)用System類的gc()函數(shù)手動收回廢棄的內(nèi)存。</p><p>  3.10 關(guān)于混淆器</p><p>  Java 語言并沒有完全編譯成二進制可執(zhí)行文件,編譯出的.class文件是一種介于源程序和二進制之間的

68、一中基于半解釋的字節(jié)碼,需要虛擬機來執(zhí)行。它包括了所有的信息。然而這樣會導(dǎo)致.class很容易被反編譯為源代碼,從而不能保護作者的知識成果。目前流行的如decode,JAD等反編譯工具可以以很快的速度生成源文件。如果不加以施行有效的措施,將造成嚴重的后果。</p><p>  由此引入混淆器的概念?;煜鲗⒋a中的所有變量、函數(shù)、類的名稱變?yōu)楹喍痰挠⑽淖帜复?,如果缺乏相?yīng)的函數(shù)名指示和程序注釋,即使被反編譯,也

69、將難以閱讀。</p><p>  混淆器的作用不僅僅是保護代碼,它也有精簡編譯后程序大小的作用。由于以上介紹的減少變量、函數(shù)的命名長度的關(guān)系,編譯后也會從.class文件中減少這些冗余的信息?;煜螅w積大約能減少25%,這對當前費用較貴的無線網(wǎng)絡(luò)傳輸是有一定意義的。</p><p>  4 程序分析和具體實現(xiàn)</p><p>  4.1 手機閱讀器讀取文本<

70、;/p><p>  由于J2ME不可以對手機中的文件進行讀寫,所以在開發(fā)本程序時,只能在程序打包時把文本文件作為資源文件加入到J2ME發(fā)布程序中。如果想讀寫手機上的文件,則要使用各手機商家提供的特定開發(fā)平臺和專用的類來開發(fā),下面就文本閱讀器的關(guān)鍵技術(shù)進行說明。</p><p>  在J2ME中如何讀取文本文件的內(nèi)容,在本系統(tǒng)中寫了一個函數(shù)用來讀取指定的文本文件,文本文件做為參數(shù)傳給該函數(shù),該函

71、數(shù)的返回值為字符串類型,將文件的內(nèi)容做為一個完整的字符串返回。在讀取文件內(nèi)容時用到的主要技術(shù),使用InputStream類定義一個輸入字節(jié)流對象in,使用 ByteArrayOutputStream類定義一個內(nèi)存數(shù)組輸出字節(jié)流對象s,通過輸入對象的in.read()方法來讀取一個字節(jié),將讀出的字節(jié)通過s.write( )方法加入到s中,再使用s.toString()方法將內(nèi)存轉(zhuǎn)為字符串返回。讀取文本文件的函數(shù)定義如下: &#

72、160;   private String myReadLine (String testFileName) {        //函數(shù)頭定義了函數(shù)的參數(shù)為文件名組成的字符串,返回值為一個字符串。  InputStream  in = this.getClass().getResourceAsStream(testFileN

73、ame);        //由文件名參數(shù)來定義一個輸入流對象變量in    ByteArrayOutputStream  s; </p><p><b>  4.2 系統(tǒng)設(shè)計</b></p><p>  4.2.1 基本概念</p>

74、;<p>  本文利用J2ME技術(shù)開發(fā)了一個文本閱讀器,實現(xiàn)了手機對文本文件的顯示,給出了該程序的實現(xiàn)代碼,并對其關(guān)鍵技術(shù)進行了詳細闡述。</p><p>  4.2.2 軟件設(shè)計任務(wù)</p><p> ?、貸2ME文本閱讀器中的文本格式。</p><p> ?、谧x取文本文件的主要技術(shù)實現(xiàn)。</p><p> ?、蹖⑽谋疚募?nèi)容

75、顯示出來的技術(shù)實現(xiàn)。</p><p>  ④閱讀器中的菜單設(shè)計技術(shù)實現(xiàn)。</p><p>  4.2.3 總體設(shè)計</p><p>  J2ME文本閱讀器中的文本格式</p><p>  J2ME中文本文件的格式,為了便于程序的開發(fā)和在運行中的讀寫處理,對要處理的文本文件要進行一定格式的整理。本程序中的文本要求用純文本即可,每章為一個獨立的文

76、件,每一章中均可為多段,在文本中加入的空格和各種符號都可在閱讀時如實的顯示出來。文件寫好后將其存入相應(yīng)項目文件夾下的res文件夾中,如本文中的閱讀器的項目名為test,則可將文本文件存入test\res文件夾下。本系統(tǒng)要閱讀三章內(nèi)容,所以制作了三個文本文件,分別命名為test1.txt、test2.txt、test3.txt,將三個文件存入test\res文件夾中,到此文本內(nèi)容準備完成。</p><p>  文本

77、讀取文件的主要技術(shù)</p><p>  在J2ME中如何讀取文本文件的內(nèi)容,在本系統(tǒng)中寫了一個函數(shù)用來讀取指定的文本文件,文本文件做為參數(shù)傳給該函數(shù),該函數(shù)的返回值為字符串類型,將文件的內(nèi)容做為一個完整的字符串返回。在讀取文件內(nèi)容時用到的主要技術(shù),使用InputStream類定義一個輸入字節(jié)流對象in,使用 ByteArrayOutputStream類定義一個內(nèi)存數(shù)組輸出字節(jié)流對象s,通過輸入對象的in

78、.read()方法來讀取一個字節(jié),將讀出的字節(jié)通過s.write( )方法加入到s中,再使用s.toString()方法將內(nèi)存轉(zhuǎn)為字符串返回。讀取文本文件的函數(shù)定義如下:     private String myReadLine (String testFileName) {        //函數(shù)頭定義了函數(shù)的參數(shù)為文件名組成的字

79、符串,返回值為一個字符串。  InputStream  in = this.getClass().getResourceAsStream(testFileName);        //由文件名參數(shù)來定義一個輸入流對象變量in    ByteArrayOutputStream  s; <

80、;/p><p>  將文本文件內(nèi)容顯示出來的技術(shù)    通過Form類定義一個表單對象f,通過對象的f.append()的方法將讀取文本文件返回的字符串內(nèi)容加入到表單對象中,為了該表單內(nèi)容在閱讀完之后可以返回上一級顯示界面,通過f.addCommand()方法在表單中加入一個按鈕對象,并通過f.setCommandListener(this)方法注冊CommandListener高

81、級事件處理,這樣當選擇按鈕時即可調(diào)用CommandListener 高級事件接口類中的commandAction()函數(shù),在該函數(shù)中判斷是哪個按鈕被選中,通過該函數(shù)中的代碼來決定處理流程。最后通過Display類的Display.setCurrent()方法將含有文件內(nèi)容的表單顯示在手機屏幕上。處理代碼如下:    Form f=new Form("超級閱讀"); //創(chuàng)建一個Form

82、對象f    strContent=myReadLine ("/test1.txt"); //讀取test1.txt文件中的內(nèi)容返回字符串    f.append(strContent);  //將文本文件的內(nèi)容加入到f對象中  f.</p><p>  閱讀器中的菜單設(shè)計技術(shù) 

83、0;  本閱讀器菜單結(jié)構(gòu)分兩級,一級菜單顯示各章的標題,通過選擇某一標題選項進入該章進行內(nèi)容閱讀,在章內(nèi)容界面中設(shè)置二級菜單選項,二級菜單中只有一個選項即是返回選項,選中該選項后,則回到上一級,可重新選擇章標題,進入新一章內(nèi)容進行閱讀。一級菜單通過List類來建立,首先產(chǎn)生一個List類的對象l,通過l.append("第一章",null)方法在l對象中加入一條選項,用同樣的方法可加入多條選項,只要將第一

84、章改為第二章、第三章等,可產(chǎn)生一個有多選項的l對象,通過l.addCommand(exitCommand)方法在l對象中加入一個按鈕,作為退出按鈕選項,通過l.setCommandListener(this)注冊高級事件處理機制,通過該高級事件的注冊在操作過程中選中某一選項時,系統(tǒng)自動調(diào)用commandAction()函數(shù),并將選中的選項做為參數(shù)傳遞給該函數(shù),在函數(shù)中判斷選中的是哪一個選項,進行不同的流程處理。最后通過Display類的

85、Display.setCurrent(l)方法將第一級菜單界面顯示在手機屏幕上。一級菜單界面的定義如下:List l=new</p><p>  5 手機游戲開發(fā)過程中的困難</p><p>  5.1 手機軟件開發(fā)存在的困難</p><p>  處理器、內(nèi)存和色彩深度提供了游戲開發(fā)所需的因素。開發(fā)者正努力把其它游戲平臺上的質(zhì)量標準運用到這個平臺上。當然了,一些問

86、題仍然存在,然而這些問題終將被解決,就像PC平臺游戲開發(fā)者使用不斷改進的DirectX一樣。</p><p>  當然在手機游戲投放市場和開發(fā)以及具體的制作過程方面還是存在的諸多的問題的。</p><p>  5.1.1 移動開發(fā)存在的問題</p><p>  第一、花費更多的時間用來設(shè)計。開發(fā)者都有想用最簡捷經(jīng)濟的方式做事的傾向。然而,為了創(chuàng)作一個世界第一流水平的

87、軟件,你就必須使用世界第一流水平的開發(fā)過程。關(guān)鍵步驟是設(shè)計思路、試制、生產(chǎn)和產(chǎn)品質(zhì)量檢測。然而,因為設(shè)備和移動運營商的多樣性,開發(fā)者不得不花費更多的時間用于前期的計劃。這就存在這一種風險,那就是一個設(shè)計可以用于一種設(shè)備,但是可能就不能用在另一種設(shè)備。</p><p>  第二、像在PC中一樣,為硬件的"最小公分母"( lowest common denominator )開發(fā),這意味著你的代碼

88、不能對硬件和操作系統(tǒng)以及程序設(shè)計語言之間的交互抱過高幻想。 </p><p>  第三、類似于硬件中的問題,開發(fā)兩個API之間的基本功能。比較軟件開發(fā)環(huán)境和圍繞它們的不足進行針對性設(shè)計。開發(fā)者必須花費更多的時間了解這兩個平臺,但是最后的效果是很值得的。</p><p>  5.1.2 操作環(huán)境不兼容性問題</p><p>  本論文講述的移動開發(fā)環(huán)境是J2ME,J2

89、ME是獲得美國大部分移動運營商支持的移動應(yīng)用開發(fā)平臺。J2ME是一個解釋語言,運行在有虛擬機的任何操作系統(tǒng)上,通常運行速度很慢,而且在優(yōu)化代碼上有許多的困難。</p><p>  在過渡期間,為這個環(huán)境開發(fā)游戲成為一種挑戰(zhàn)。例如,BREW 1.0支持掩蓋的位圖傳送( Masked-Blit ),而J2ME MIDP 1.4不支持。而且,一些J2ME手機不支持聲音。所以你的代碼不應(yīng)該使用掩蓋的位圖傳送支持或者聲音支

90、持。比如說,如果你創(chuàng)建自定義位圖字體,你可能認為你需要掩蓋的位圖傳送。然而,你可以使用提前修正背景色來創(chuàng)建字體位圖。這兩個平臺可以在載入一個文件的時候改變調(diào)色板,允許動態(tài)的調(diào)整字體背景色,但是文本必須出現(xiàn)在固定的背景上。</p><p>  5.1.3 不同的屏幕尺寸問題</p><p>  圖形是軟件的一個關(guān)鍵的方面,描畫速度是一個重要的程序函數(shù)。不同于控制臺游戲和PC游戲,移動設(shè)備沒有

91、標準的屏幕尺寸或者長寬比,這就導(dǎo)致了很多兼容性問題。開發(fā)者可以通過編寫非常靈活的背景和前景描畫程序來解決這個問題。關(guān)鍵是創(chuàng)建一個允許快速擴展或者縮小游戲視窗的架構(gòu),并且不使圖像變形或者生成讓人看上去覺得別扭的屏幕比例。</p><p>  當然,你有很多方法來處理這個問題,最壞的情況就是你可以為每種手機的顯示屏重新設(shè)計圖形?;蛘?,你還可以動態(tài)地調(diào)節(jié)你的游戲背景和其它圖形。</p><p>

92、<b>  5.2 解決方案</b></p><p>  基于上述所提到的種種困難,在手機開發(fā)過程中就要有針對性的提出解決方案。在操作系統(tǒng)不兼容性的問題上我們可以在別的開發(fā)環(huán)境中使用面向?qū)ο蟮恼Z言,這樣就很能支持J2ME,因為它是一種面向?qū)ο蟮恼Z言。在J2ME和其他開發(fā)環(huán)境中,任何使用JAVA寫的代碼都可以使用C++編寫,并且可以更快更好。把所有的設(shè)備輸出代碼( 聲音、顯示、輸入 )從游戲程

93、序邏輯中分離出來。結(jié)構(gòu)化游戲程序邏輯以便能夠在J2ME和其他環(huán)境之間移植。</p><p>  在處理不同屏幕尺寸的問題上,使用像DrawRectangle和DrawCircle這樣的固有描畫函數(shù)創(chuàng)建盡可能多的可伸縮的圖形。設(shè)計游戲,讓位圖圖形可以伸展或者縮小15%-20%,而不會影響玩游戲。在可卷軸的游戲中,根據(jù)需要擴大或者縮小可玩的區(qū)域。這樣以來這個問題便迎刃而解了。</p><p>

94、  這樣以來,只要在這些關(guān)鍵過程中解決好這些問題就不難做出一款高質(zhì)量的手機軟件了。</p><p><b>  6 總結(jié)與展望</b></p><p>  6.1 J2ME手機游戲的優(yōu)勢</p><p>  在手機游戲制作完成之后,其最大的優(yōu)勢就在于:讓品質(zhì)決定一切。很多人提到手機游戲都認為它前景誘人,并且通常都會有這樣的想法:中國的手機用戶接

95、近2億,如果這個市場上有10%的用戶使用高端產(chǎn)品和服務(wù),如果他們每人每月下載一個游戲,每個游戲收費5元,那么一年的手機市場就能輕松超過12億元。確實,手機游戲擁有如此廣泛的用戶群,的確讓其具有強勢優(yōu)勢,并且一個更重要的優(yōu)勢在于,手機游戲?qū)⒋蟠髱优詫τ谟螒虻姆e極性,讓女性朋友更容易接觸游戲,更容易體會游戲帶來的樂趣。</p><p>  但是手機游戲的發(fā)展卻并不十分明朗,大多數(shù)廠商用戶仍在觀望。其間WAP游戲本

96、應(yīng)掀起手機游戲的熱潮,但卻被技術(shù)問題限制了發(fā)展,因為大多數(shù)手機游戲玩家都只是“孤軍奮戰(zhàn)”,很難找到一起玩的人。在當前網(wǎng)絡(luò)游戲和互動游戲大行其道的情況下,手機游戲如果還局限于一部手機肯定無法有什么大的作為,只有大力推行互動式的手機游戲才能讓其真正成熟起來。所以等到3G手機時代,在更加先進的技術(shù)支持下,互動游戲得以很輕松的實現(xiàn),屆時真正的手機游戲時代也許就會來臨。</p><p>  全球移動游戲業(yè)2002年的收益已

97、經(jīng)達到4.364億美元,預(yù)計2008年將上升至93.4億美元。手機游戲市場越來越被看好,成為游戲業(yè)新的增長點。目前的手機游戲都是就地取材于電腦游戲,一些比較受玩家歡迎的游戲直接移植到手機上面,節(jié)約了不少成本和周轉(zhuǎn)時間。世嘉、育碧這樣的大型游戲廠商已相繼成立手機游戲開發(fā)部門,而諾基亞、摩托羅拉等手機廠商也大力投資手機游戲及其運行平臺的開發(fā)。特別是手機游戲的開發(fā)相對于電腦游戲來說,具有開發(fā)預(yù)算少、開發(fā)周期短等特點,并且針對屏幕小、鍵盤等不適

98、宜游戲使用的情況,目前游戲廠商都推出了針對手機游戲的專門機型,由此我們可以看出手機的產(chǎn)業(yè)鏈已經(jīng)漸漸形成,整個行業(yè)也漸漸成熟起來。</p><p>  但是手機游戲要進入黃金時期,卻必然要先費一番周折。首先就是彩屏手機的普及問題,讓所有的手機用戶都具有先進的技術(shù)平臺支持就需要長時間的等待。而且真正意義上先進的游戲手機還沒有出現(xiàn),同時還受到來自GBA等專業(yè)游戲機的“排擠”。另一個重要的考驗是移動通信網(wǎng)絡(luò)的穩(wěn)定性和綜合

99、服務(wù)能力。手機游戲如果形成玩家互動形式的在線游戲,那么在運行時就會占用過多的通信網(wǎng)絡(luò)資源,必然使得現(xiàn)有的網(wǎng)絡(luò)不堪重負。然而,如果從行業(yè)發(fā)展的角度看,手機游戲的未來一定是在線游戲。</p><p>  從上面所講到的手機游戲具有的優(yōu)勢,我想手機游戲必將在以后的通信舞臺上有它的用武之地的,因為隨著人們生活水平的提高,手機將會逐漸成為人們生活中不可缺少的物品之一。J2ME的前景會非常廣泛,并且不會只局限于游戲,還將在移

100、動應(yīng)用軟件等各方面發(fā)揮重要的作用,隨著科技的發(fā)展,J2ME的應(yīng)用限制也將大大的得到擴展。</p><p>  6.2 J2ME手機軟件的開發(fā)意義</p><p>  我們對于電腦軟件已經(jīng)熟知,所以如果以這個標準來衡量手機游戲,那么手機在某種程度上可以看作是小型的計算機,它的處理能力與臺式電腦的標準處理能力相比雖然很有限,但是已經(jīng)能夠運行一些小型的游戲。</p><p&g

101、t;  現(xiàn)在全世界手機用戶很多,甚至已經(jīng)超過電腦的普及率,并且手機更新?lián)Q代的速度絕不比電腦差多少。所以手機游戲已經(jīng)具有了它成長的基礎(chǔ),這個基礎(chǔ)要比當年的電腦游戲穩(wěn)固得多。</p><p>  最早的手機軟件只能看作是一種增值服務(wù),并不具備形成一種產(chǎn)業(yè)的規(guī)模。這也是一般手機用戶對于手機游戲的印象,所以很多人在買手機時,并不是很看重手機的游戲功能。例如:諾基亞手機的貪吃蛇就是在手機出廠前固化在芯片中,而且用戶不能再自

102、己安裝新的游戲,所以手機游戲被看成某款手機的特殊功能也就不足為奇了。[8]</p><p>  雖然手機用戶很多,但是目前大多數(shù)用戶還在使用單色手機,這也成為手機游戲推廣的最大難題。也就是說,等用戶開始真正認識手機游戲的魅力,還需要很長一段時間。但是市場是不會等待的,我們現(xiàn)在經(jīng)??吹礁鞣N手機短信游戲的廣告,那就是當前比較流行的手機游戲形式――這種短信游戲是以一部手機向另一部手機發(fā)送簡短的文字信息形式進行,通常的玩

103、法是發(fā)送一條信息到某個號碼,這個號碼對應(yīng)游戲供應(yīng)商的服務(wù)器,接收這條消息,執(zhí)行一些操作然后返回一條帶有結(jié)果的消息到游戲者的手機中。由于它依靠用戶輸入文字,因此本質(zhì)上它是一個命令環(huán)境,需要大量的時間來操作和等待,并且花費不菲,有些像早期的文字網(wǎng)絡(luò)游戲。但這種游戲最多只是一種過渡而已,不是我們真正值得討論的游戲形式。</p><p>  短信之后的手機軟件會是什么樣?其實手機軟件肯定會走上電腦游戲的發(fā)展之路,而且以現(xiàn)

104、在游戲開發(fā)基礎(chǔ)和用戶平臺的更新速度,估計手機游戲的發(fā)展速度將會是電腦游戲的幾倍以上。如今的彩信和已成熟運營2年多的GPRS,即將到來的3G時代給手機游戲帶來更大的發(fā)展空間,而且手機游戲的開發(fā)也將應(yīng)用于各種新技術(shù)之上,讓用戶更容易擁有手機游戲帶來的樂趣。</p><p>  無線應(yīng)用協(xié)議( WAP )手機已經(jīng)成為目前手機市場的主流,基于WAP的游戲本質(zhì)上是一個靜態(tài)瀏覽載體,非常像一個簡化的Web,是為移動電話小型特

105、征和低帶寬而專門優(yōu)化的。要玩WAP游戲的話,要進入游戲供應(yīng)商的URL( 通常通過移 動運營商門戶網(wǎng)站的一個鏈接 ),下載并瀏覽一個或多個頁面,選擇一個菜單或者輸入文字,提交數(shù)據(jù)到服務(wù)器,然后瀏覽更多的頁面。WAP( 1.x )版本使用獨特的標記語言WML,允許用戶下載多個頁面,即卡片組。新版本的WAP( 2.x )使用XHTML的一個子集,一次傳遞一個頁面并且允許更好地控制顯示格式。兩種版本的WAP都提供一個比SMS更友好的界面,而且更

106、加便宜,只要根據(jù)使用時間付費,而不是根據(jù)信息數(shù)付費。但是它是一個靜態(tài)的瀏覽載體,手機本身幾乎不需要做任何處理過程,并且所有游戲必須通過網(wǎng)絡(luò),所有的操作都是在遠程服務(wù)器上執(zhí)行的。</p><p>  WAP手機游戲已經(jīng)無法滿足玩家的需求,現(xiàn)在已經(jīng)有上千萬的Java手機到了消費者手中。雖然這個“爪哇”與臺式機中的Java相比還有很大的限制,但是它已經(jīng)極大地提高了移動電話支持游戲的能力。</p><

107、p>  J2ME是一種針對移動電話和PDA這樣的小型設(shè)備的Java語言,它比SMS或WAP能更好地控制界面,允許使用圖形動畫,可以通過無線網(wǎng)絡(luò)連接到遠程服務(wù)器。J2ME不是手機上配置的惟一的解釋語言,但是它是一個許多廠商新支持的行業(yè)標準。也正是Java將手機游戲的趣味性大大提高,并且向傳統(tǒng)的電子游戲靠攏,讓手機游戲的吸引力增強,特別是手機隨身攜帶的特點,也讓其成為用戶身邊觸手可及的掌中游戲,而不一定要擁有電腦這樣的平臺才能進行游戲

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論