




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
畢畢 業(yè)業(yè) 論論 文(設計)文(設計) 開開 題題 報報 告告 書書 論文題目論文題目 基于 java 的手機游戲系統(tǒng)的設計與實現(xiàn) 姓姓 名名 黃飛揚 學學 號號 201201327046 入學年月入學年月 2012 年 9 月 院院 系系 電子信息學院 專專 業(yè)業(yè) 軟件技術(shù) 指導老師指導老師 甄春成 填寫日期:_年_月_日 論 文 題 目 基于基于 java 的手機游戲系統(tǒng)的設計與實現(xiàn)的手機游戲系統(tǒng)的設計與實現(xiàn) 選題的背景及意義: 從小屏按鍵手機到大屏觸控手機,從非智能平臺再到智能平臺,我們可以直觀的發(fā) 現(xiàn)手機愈加的貼近人們的生活??梢哉f今天的手機已經(jīng)從單純的通訊工具轉(zhuǎn)變?yōu)橐粋€集通 訊、音樂、電影、游戲等多功能于一身的便攜終端。手機的綜合價值越來越高,這使得人 們對它的依賴性越來越強。 我們可以清楚的看出,現(xiàn)在的生活節(jié)奏正在變快。人們除了工作和學習之外,還要 花費不少的時間在往返的路途上,當然也就沒有太多時間呆在電視機前,這一現(xiàn)狀自然而 然的激發(fā)了移動終端(手機、掌上游戲機)的飛速崛起。在掌上游戲機系列中,任天堂的 ndsl、索尼的 psp 已經(jīng)被我們所熟知,成為了很暢銷的游戲機。但是從近幾年來看,我 們發(fā)現(xiàn)手機游戲正在潛移默化的侵蝕著掌上游戲機的市場份額,當然這種“侵略”是有依 據(jù)的。目前在手機上看到的已經(jīng)不再是當年簡單的貪吃蛇。各種各樣龐大、精美的手機游 戲已經(jīng)走進我們的生活。甚至一些電腦上出色的網(wǎng)游魔獸世界也有了手機終端中的復刻版, 這些都讓忙碌的我們感受到了不一樣的樂趣。 java 在移動設備上的功能實現(xiàn)也越來越具影響力,為豐富人們的生活,提供服務等 方面提供了諸多方便。本文主要介紹一款基于 java 語言開發(fā)的手機游戲貪吃蛇,該 設計主要是應用 j2me 技術(shù),結(jié)合 jdk 1.8.0,使用 ide eclipse 4.4 與 eclipseme1.7.9 作為 開發(fā)工具,以 sun j2me wireless tool kit 2.5.2 軟件作為模擬測試工具的綜合性的開發(fā)設 計。本設計主要是對手機游戲的開發(fā)過程的各個環(huán)節(jié)做了詳細的介紹,其中包括:手機游 戲開發(fā)平臺的搭建與測試、具體設計及開發(fā)步驟、軟件測試運行與打包生成等,實現(xiàn)了經(jīng) 典游戲貪吃蛇的手機嵌入,以便滿足一些手機用戶的娛樂需求。 選題的構(gòu)思與設想: 論文主要章節(jié):論文主要章節(jié): 摘要 abstract 目 錄 1緒論 2手機游戲 2.1 手機游戲現(xiàn)狀 2.2 手機游戲分類 3.程序開發(fā)語言 3.1 java 3.2 java 程序開發(fā)流程 3.3 java 語言的特點 4.開發(fā)環(huán)境及相關技術(shù)介紹 4.1 開發(fā)環(huán)境 4.2 jdk 4.3 wtk 4.4 eclipse 與 eclipseme 5.游戲的開發(fā)與實現(xiàn) 5.1 游戲工程及程序的建立 5.2 手機中的坐標系 5.3 游戲的具體實現(xiàn)環(huán)節(jié) 5.4 具體編程的實現(xiàn) 6.結(jié)論 參考文獻 答 謝 程序中存在的問題:程序中存在的問題: 開發(fā)移動游戲與傳統(tǒng)游戲的開發(fā)有很多不同,想開發(fā)有吸引力的移動游戲尤其困難。 這比開發(fā)控制臺游戲或 pc 游戲更困難,因為眾多的設備具有不同的存貯器、聲音和顯示 性能。除此之外,你還必須合理利用 j2me 這樣的開發(fā)環(huán)境。 開發(fā)移動游戲需要一套與普通游戲不同的方法和思路。移動游戲的預算很小而且時間 安排很短。這個平臺有許多種硬件和軟件的組合,并且在硬件廠商之間沒有多少共同點。 第一、花費更多的時間用來設計。開發(fā)者都有想用最簡捷經(jīng)濟的方式做事的傾向。然 而,為了創(chuàng)作一個世界第一流水平的游戲,你就必須使用世界第一流水平的開發(fā)過程。關 鍵步驟是設計思路、試制、生產(chǎn)和產(chǎn)品質(zhì)量檢測。然而,因為設備和移動運營商的多樣性, 開發(fā)者不得不花費更多的時間用于前期的計劃。這就存在這一種風險,那就是一個設計可 以用于一種設備,但是可能就不能用在另一種設備。 第二、像在 pc 中一樣,為硬件的“最小公分母“( lowest common denominator )開 發(fā),這意味著你的代碼不能對硬件和操作系統(tǒng)以及程序設計語言之間的交互抱過高幻想。 第三、類似于硬件中的問題,開發(fā)兩個 api 之間的基本功能。比較軟件開發(fā)環(huán)境和 圍繞它們的不足進行針對性設計。開發(fā)者必須花費更多的時間了解這兩個平臺,但是最后 的效果是很值得的。 1操作壞境的不兼容問題: 本論文講述的移動開發(fā)環(huán)境是 j2me,j2me 是獲得美國大部分移動運營商支持的 移動應用開發(fā)平臺。j2me 是一個解釋語言,運行在有虛擬機的任何操作系統(tǒng)上,通常運 行速度很慢,而且在優(yōu)化代碼上有許多的困難。 在過渡期間,為這個環(huán)境開發(fā)游戲成為一種挑戰(zhàn)。例如,brew 1.0 支持掩蓋的 位圖傳送( masked-blit ) ,而 j2me midp 1.4 不支持。而且,一些 j2me 手機不支持聲 音。所以你的代碼不應該使用掩蓋的位圖傳送支持或者聲音支持。比如說,如果你創(chuàng)建自 定義位圖字體,你可能認為你需要掩蓋的位圖傳送。然而,你可以使用提前修正背景色來 創(chuàng)建字體位圖。這兩個平臺可以在載入一個文件的時候改變調(diào)色板,允許動態(tài)的調(diào)整字體 背景色,但是文本必須出現(xiàn)在固定的背景上。 2.顯示速度方面的問題: 在移動游戲開發(fā)過程中,最大的問題是缺乏對顯示速度的重視。雖然移動運營商 已經(jīng)選擇了強大的處理器和彩色的顯示屏,但是他們忽略了對于游戲來說至關重要的一個 方面。 手機使用許多繪制程序,一些支持雙緩沖技術(shù),而另一些不支持。在某些情況下, 可以更容易的直接繪制到屏幕上。直接繪制到屏幕有時比雙緩沖更快。然而,使用低刷新 速率在屏幕上繪制大的圖像可能會引起閃爍。造成這一問題的原因在于,畫面在顯示的同 時,程序又在改變它,于是畫面閃爍。 3.不同屏幕尺寸問題: 圖形是游戲的一個關鍵的方面,描畫速度是一個重要的程序函數(shù)。不同于控制臺 游戲和 pc 游戲,移動設備沒有標準的屏幕尺寸或者長寬比,這就導致了很多兼容性問題。 開發(fā)者可以通過編寫非常靈活的背景和前景描畫程序來解決這個問題。關鍵是創(chuàng)建一個允 許快速擴展或者縮小游戲視窗的架構(gòu),并且不使圖像變形或者生成讓人看上去覺得別扭的 屏幕比例。 當然,你有很多方法來處理這個問題,最壞的情況就是你可以為每種手機的顯示屏 重新設計圖形?;蛘?,你還可以動態(tài)地調(diào)節(jié)你的游戲背景和其它圖形。 4.輸入問題: 輸入要么成就要么毀掉一個游戲體驗。游戲一般都需要快速響應的反饋。不然的 話,你的游戲就會感覺有點遲鈍。在過去,移動電話不需要能夠快速響應的按鍵,因為撥 電話號碼沒有那種需要。現(xiàn)在,這就有了一些問題,如果你的按鍵響應速度很慢,你的游 戲反饋就會很慢,而且不幸的是沒有解決辦法來提高它的速度。而且,大部分的手機不支 持同時按下多鍵,而這又是格斗類游戲所必須的。因此是否能夠解決好這方面的問題就顯 得尤為重要了。 技術(shù)路線與研究方法: 技術(shù)路線:技術(shù)路線: 論文的主要是論述用 j2me 技術(shù)在手機游戲制作開發(fā)中的應用,以一款貪吃蛇手機 游戲為實例具體講述了運用 j2me 制作手機游戲。 搭建 jdk 壞境,使用 wtk 開發(fā)工具包,在“eclipse+eclipseme”的平臺下開發(fā)程序, 使游戲系統(tǒng)得以實現(xiàn)。 研究方法:研究方法: 1.文獻研究法,查找相關資料,找一些相關代碼,用 jdk 查找相關方法,在論壇、 貼吧等各種網(wǎng)站尋找程序中遇到的各種問題的解決方法; 2.理論與實際問題相結(jié)合的方法,分析用戶需求,在對各種系統(tǒng)開發(fā)平臺、開發(fā)技 術(shù)、開發(fā)壞境、數(shù)據(jù)庫技術(shù)等各方面的比較下,選擇相對較佳的方案; 3.利用 uml 建模方法進行分析建模以及設計建模,并進行實際操作調(diào)試,從而實 現(xiàn)本系統(tǒng)的具體功能; 4.系統(tǒng)分析與邏輯辯證分析相結(jié)合的方法。 進度安排及各階段主要任務: 1、2014 年 11 月 1 日前完成畢業(yè)論文的選題填寫開題報告 2、2014 年 11 月 15 日前擬定論文題目及寫作大綱了解開發(fā)環(huán)境 3、2014 年 12 月 25 日前畢業(yè)設計的初次實現(xiàn)及修改 4、2015 年 1 月 1 日前畢業(yè)設計的完善 5、2015 年 1 月 5 日前完成設計論文初稿 6、2015 年 1 月 6 日前完成設計論文終稿 主要參考資料與技術(shù)條件: 參考資料:參考資料: 1 詹建飛java me 核心技術(shù)與最佳實踐 ,北京:電子工業(yè)出版社,2013 年; 2 張鵬3d 手機游戲開發(fā)實例教程 ,北京:電子工業(yè)出版社,2013 年; 3 石民勇、稅彬彬手機游戲設計與制作教程 ,北京:中國傳媒大學出版社, 2014 年; 4 楊邵芳、王穎、林錦全java 程序設計基礎 ,北京:科學出版社,2012 年; 5 張鵬3d 手機游戲開發(fā)實例教程 ,北京:電子工業(yè)出版社,2009 年; 6 李興華java 開發(fā)實戰(zhàn)經(jīng)典 ,北京:清華大學出版社,2014 年; 7 徐明華、邱加永、紀希禹java 基礎與案例開發(fā)詳解 ,北京:清華大學出版社, 2014 年; 8 王國輝java 程序開發(fā)參考手冊 ,北京:機械工業(yè)出版社,2013 年。 技術(shù)條件:技術(shù)條件: 本次畢業(yè)設計通過應用 java 技術(shù),結(jié)合 jdk 1.8.0,使用 ide eclipse 4.4 與 eclipseme1.7.9 作為開發(fā)工具、sun j2me wireless tool kit 2.5.2 軟件作為模擬測試工具的 綜合性設計,實現(xiàn)了手機游戲的開發(fā)與設計。 指導老師意見: 指導老師簽名: 年 月 日 湖南信息學院 畢業(yè)論文 基于基于 javajava 的手機游戲系統(tǒng)的設計與實現(xiàn)的手機游戲系統(tǒng)的設計與實現(xiàn) 學生姓名:黃飛揚 學 號:201201327046 年級專業(yè):二一二級軟件技術(shù) 指導老師:甄春成 二級學院:電子信息學院 目目 錄錄 摘要1 1 1 1緒論緒論3 3 2 2手機游戲手機游戲3 3 2.1 手機游戲現(xiàn)狀 .3 3 2.2 手機游戲分類123 3 3.3.程序開發(fā)語言程序開發(fā)語言 3 3 4 4 3.1 java4 4 3.2 java程序開發(fā)流程4 4 3.3 java語言的特點45 5 4.4.開發(fā)環(huán)境及相關技術(shù)介紹開發(fā)環(huán)境及相關技術(shù)介紹5 5 6 6 4.1 開發(fā)環(huán)境 .6 6 4.2 jdk 6 6 4.3 wtk .7 7 4.4 eclipse與 eclipseme.8 8 5.5.游戲的開發(fā)與實現(xiàn)游戲的開發(fā)與實現(xiàn)9 9 5.1 游戲工程及程序的建立 .9 9 5.2 手機中的坐標系 1212 5.3 游戲的具體實現(xiàn)環(huán)節(jié)1313 5.4 具體編程的實現(xiàn) 1313 6.6.結(jié)論結(jié)論2121 參考文獻參考文獻2222 答答 謝謝2323 摘摘 要要 從小屏按鍵手機到大屏觸控手機,從非智能平臺再到智能平臺,我們可以直觀的發(fā)現(xiàn)手機愈加 的貼近人們的生活。可以說今天的手機已經(jīng)從單純的通訊工具轉(zhuǎn)變?yōu)橐粋€集通訊、音樂、電影、游 戲等多功能于一身的便攜終端。手機的綜合價值越來越高,這使得人們對它的依賴性越來越強。 我們可以清楚的看出,現(xiàn)在的生活節(jié)奏正在變快。人們除了工作和學習之外,還要花費不少的 時間在往返的路途上,當然也就沒有太多時間呆在電視機前,這一現(xiàn)狀自然而然的激發(fā)了移動終端 (手機、掌上游戲機)的飛速崛起。在掌上游戲機系列中,任天堂的 ndsl、索尼的 psp 已經(jīng)被我們所 熟知,成為了很暢銷的游戲機。但是從近幾年來看,我們發(fā)現(xiàn)手機游戲正在潛移默化的侵蝕著掌上 游戲機的市場份額,當然這種“侵略”是有依據(jù)的。目前在手機上看到的已經(jīng)不再是當年簡單的貪 吃蛇。各種各樣龐大、精美的手機游戲已經(jīng)走進我們的生活。甚至一些電腦上出色的網(wǎng)游魔獸世界 也有了手機終端中的復刻版,這些都讓忙碌的我們感受到了不一樣的樂趣。 java 在移動設備上的功能實現(xiàn)也越來越具影響力,為豐富人們的生活,提供服務等方面提供了 諸多方便。本文主要介紹一款基于 java 語言開發(fā)的手機游戲貪吃蛇,該設計主要是應用 j2me 技術(shù),結(jié)合 jdk 1.8.0,使用 ide eclipse 4.4 與 eclipseme1.7.9 作為開發(fā)工具,以 sun j2me wireless tool kit 2.5.2 軟件作為模擬測試工具的綜合性的開發(fā)設計。本設計主要是對手機游戲 的開發(fā)過程的各個環(huán)節(jié)做了詳細的介紹,其中包括:手機游戲開發(fā)平臺的搭建與測試、具體設計及 開發(fā)步驟、軟件測試運行與打包生成等,實現(xiàn)了經(jīng)典游戲貪吃蛇的手機嵌入,以便滿足一些手 機用戶的娛樂需求。 關鍵字關鍵字 j2mej2me wtkwtk eclipseeclipse abstract from mobile phones to screen touch screen buttons, from the intelligence platform to intelligence platform, we can directly find mobile phones more and more close to peoples life.todays cell phone was already from the simple communication tools into a set of communication, music, movies, games and other multi-functional portable terminal.mobile phone comprehensive value more and more high, this makes people more and more dependent on it.we can clearly see, now life rhythm is faster.in addition to work and study, people still spend a lot of time on the way back and forth, of course, there is no much time to stay in front of the television, the present situation of natural inspired mobile terminal (mobile phone, psp) rapid rise.in their series of psp, nintendos ndsl, sony psp has been as we know, has become a very popular game.but from the point of view in recent years, we found that mobile phone games gradually eroded the market share of psp, of course, this kind of “aggression“ is based on.see now on the phone is no longer a simple snake.a variety of large, elegant mobile game has come into our lives.even some excellent computer online game world of warcraft has complex engraving of the mobile terminal, which makes the busy we felt the different fun. java in the function realization of the mobile device is also more and more influential for rich peoples life and providing services offered many convenient. this paper mainly introduces a mobile game snake of java language development. this design is a comprehensive development design,which mainly applied 1.8.0 jdk j2me technology, combined with the eclipse, use ide eclipseme1.7.9 as 4.4 development tool, tool kit to 2.5.2 from j2me wireless software as simulation test tools. this design is mainly to the mobile games every parts of the development process are described in detail, including: the cellular phone game development platform and testing, specific design and development steps, software test, operation and packaged generation. realize the classic game - snake phone embedded, in order to meet some cell phone users entertainment demand. key words: :j2me,wtk,eclipse 1緒論 任何游戲在設計之初,所面向的目標群體的定位都不盡相同,自然的影響游戲設計 的動機也會不同,受到游戲設計導向和動機的影響,任務的設計目的大體可分為:提升 游戲娛樂性、使玩家壓抑釋放、獲得心里滿足、同時也可視為一種賺錢的手段。隨著 3g 技術(shù)的普及和應用,基于 java 的開發(fā)軟件在手機上的使用非常的廣泛,手機增值服務 的內(nèi)容也是越來越多,對豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。 在這個信息社會中,隨著信息網(wǎng)絡化的不斷進展,手機游戲越來越多的走進人們的 工作和生活。其中現(xiàn)在國內(nèi)從圖形化游戲開發(fā)的主流技術(shù)來看,包括:基于嵌入式游戲 開發(fā)與設計、基于 java 游戲開發(fā)與設計、基于 brew 游戲開發(fā)與設計、基于 uni-java 游戲的開發(fā)與設計、手機網(wǎng)絡游戲的開發(fā)與設計等。其中隨著 3g 技術(shù)的飛速發(fā)展, java 手機游戲具有更大的市場優(yōu)勢。 本設計通過查閱相關書籍,研究手機游戲開發(fā)與設計的整體設計流程及設計思路、 學習并使用 java 語言進行程序的編寫及運行調(diào)試,完成基于 java 語言的手機游戲的開 發(fā)與設計。 2手機游戲 2.1 手機游戲現(xiàn)狀 在信息和網(wǎng)絡高速發(fā)展的今天,手機已經(jīng)成為不可或缺的通訊工具,它的普及速度 之快,讓人瞠目,在短短的幾年間,手機及其它無線設備已經(jīng)走進了普通百姓的工作和 生活。眾所周知,手機的規(guī)模越來越壯大、功能也越來越強大,而游戲也已成為手機上 不可缺少的功能,目前,手機游戲業(yè)正在以良好的發(fā)展前景飛快發(fā)展著,而且將進入一 個高利潤的穩(wěn)定增長期。 2.2 手機游戲分類12 隨著信息技術(shù)的飛速發(fā)展,手機游戲的逐漸的多樣化,具體分類歸納如下表所示: 短信游戲短信游戲 文字類游戲文字類游戲 wap 瀏覽器游戲瀏覽器游戲 嵌入式游戲嵌入式游戲 java 游戲游戲 brew 游戲游戲 游戲形式游戲形式 圖形類游戲圖形類游戲 uni-java 游戲游戲 純文字手機游戲純文字手機游戲 2d 手機游戲手機游戲畫面形式畫面形式 3d 手機游戲手機游戲 表 手機游戲分類列表 短信游戲:玩家和游戲服務商通過短信中文字的內(nèi)容來交流,達到游戲目的的一種 文字游戲。一般玩家通過回復短信的形式來進行游戲,游戲單調(diào)、枯燥無味。 wap 瀏覽器游戲:通過手機上網(wǎng),使用瀏覽器瀏覽網(wǎng)頁來進行的一種文字游戲,玩 家根據(jù) wap 瀏覽器瀏覽到的頁面上的提示,以選擇不同的選項的方法來進行游戲,游戲 不夠直觀、單調(diào)無趣。 嵌入式游戲:將游戲程序預先固化到手機中的一種圖形類游戲,其中固化過程在手 機出廠前就已經(jīng)完成。因此這種手機游戲不能進行任何修改或刪除操作。 java 游戲:java 是一種 sun 微系統(tǒng)公司所發(fā)展出來的程序語言,它具有很多有利 于手機游戲開發(fā)的性質(zhì),例如封裝性、安全性等,便于手機游戲的開發(fā)與設計,而且目 前在手機上應用最多的就是 java 游戲。 brew 游戲:和 java 類似,brew 也是一種程序語言,brew (binary runtime environment for wireless)即無線二進制運行環(huán)境,brew 游戲的一主要特點就是可以 擴充容量。 uni-java 游戲:中國聯(lián)通剛剛為其手機準備的一個新的通用開發(fā)平臺。 uni-java 可以讓中國聯(lián)通的手機也支持并運行 java 程序,同時也支持一些 java 游戲。目前已經(jīng) 有相當數(shù)量的廠商開始進入 uni-java 手機游戲開發(fā)的領域。 2d 手機游戲:采用圖形類的手機游戲,其中手機游戲界面為二維圖像。 3d 手機游戲:延續(xù) 2d 手機游戲繼續(xù)發(fā)展,手機游戲界面也由二維圖像發(fā)展為三維 圖像,給玩家以更好的視覺效果,使游戲更具娛樂性。 3.程序開發(fā)語言 3 3.1 java java 是由 sun microsystems 公司推出的 java 面向?qū)ο蟪绦蛟O計語言(以下簡稱 java 語言)和 java 平臺的總稱。由 james gosling 和同事們共同研發(fā),并在 1995 年正 式推出。java 最初被稱為 oak,是 1991 年為消費類電子產(chǎn)品的嵌入式芯片而設計的。 1995 年更名為 java,并重新設計用于開發(fā) internet 應用程序。用 java 實現(xiàn)的 hotjava 瀏覽器(支持 java applet)顯示了 java 的魅力:跨平臺、動態(tài) web、internet 計算。 從此,java 被廣泛接受并推動了 web 的迅速發(fā)展,常用的瀏覽器均支持 javaapplet。 另一方面,java 技術(shù)也不斷更新。java 自面世后就非常流行,發(fā)展迅速,對 c+語言形 成有力沖擊。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,java 更具備了顯著優(yōu)勢和廣闊 前景。2010 年 oracle 公司收購 sun microsystems。 java 分為三個體系 java se(j2se,java2 platform standard edition,標準版) , javaee(j2ee,java 2 platform, enterprise edition,企業(yè)版) ,java me(j2me,java 2 platform micro edition,微型版) 。 3.2 java 程序開發(fā)流程 3.2.1 編譯 編譯就是把所編制的*.java 文件,編譯成二進制的*.class 文件。java.exe 是由 sun 公司編寫的一個編譯器,它可以把*.java 文件成為*.class 文件。其中,如果一個 *.java 文件中定義了多個類,它就將被編譯成多個*.class 文件。 3.2.2 混淆(可選) 由于 class 文件格式透明的緣故,java 文件很容易被反編譯。因此,如果不希望別 人掌握你的源代碼的話,就一定要進行混淆(obfuscate) 。所謂混淆,就是利用工具, 將方法各類名改成沒有實際意義的特定的字符及代號,增加閱讀的難度。這樣做的目的 是為了更充分的保護了自己的知識產(chǎn)權(quán),而且混淆器還可以減少程序的大小。混淆器一 般都是由第三方軟件開發(fā)商提供的,許多都是開源的,可以免費使用。 3.2.3 預審核 在完成編譯后,必須對*.class 文件進行預審核,因為 class 在傳輸過程中容易損 壞或是被篡改,且手機的資源有限,所以在手機上審核一般比較困難。因此為了使我們 在手機上進行的審核工作量減少。我們在 pc 機上進行一部分預審核工作。 3.2.4 打包 midp 可執(zhí)行文件后綴名為 jar。后綴為 jad 的文件是 jar 文件的描述文件。 在仿真器或手機上安裝運行有了 jar 及 jad 文件后,就可以把它們放到仿真器或手 機上運行了。至于如何把它們放到手機上,根據(jù)手機的功能不同,可有如下幾種方法: 使用數(shù)據(jù)線,將 pc 與手機相連,下載文件;使用紅外線;使用藍牙;使用 ota 空中下 載(利用短信/wap) 。 3.3 java 語言的特點4 3.3.1 平臺獨立性 要使應用軟件在網(wǎng)絡中的任意一臺電腦中都能夠正常運行,就必須使得軟件具有平 臺獨立性。軟件的平臺獨立性一直以來都是軟件發(fā)展的需求及開發(fā)者所追求的首要目標, 而 java 正是一款具有平臺獨立性的編程語言,在源程序級保證了其基本數(shù)據(jù)類型與平 臺的無關,使得 java 程序可以在世界范圍內(nèi)共享,為程序的編譯和解讀提供了很大的 方便性。 3.3.2 面向?qū)ο?面向?qū)ο蟮能浖幊碳夹g(shù)是當今軟件開發(fā)行業(yè)中最常用的一種技術(shù),java 正是一款 面向?qū)ο蟮木幊涕_發(fā)軟件。它使用一種被稱為“類(class) ”的軟件對象,代碼可以重 復使用和可以擴展,使得程序開發(fā)變得容易許多。具體來說,面向?qū)ο笮园ㄒ韵氯齻€ 特點: 封裝性:java 提供了類機制,以類對象為基本組成單元,對象中封裝了狀態(tài)變量和 方法。java 的封裝性很好的體現(xiàn)了模塊化和信息隱蔽等良好的程序設計思想。 繼承性:java 編程語言中最重要的數(shù)據(jù)類型是類,它提供了單繼承機制。為了解決 多繼承的問題和克服了多繼承的復雜性,java 引進接口(interface)的概念,進而使 得 java 程序更容易被擴展和使用。 多態(tài)性:java 語言通過方法的重載和覆蓋實現(xiàn)多態(tài)性。方法重載是指一個類中可以 有多個名字相同,但參數(shù)類型不同的方法。方法覆蓋是指在繼承的過程中,子類可以重 新定義父類的某種方法,實現(xiàn)自己需要的功能。 3.3.3 安全性 作為 web 編程語言的一種,java 具有良好的安全結(jié)構(gòu)和安全策略。代碼在編譯的 過程中接受多層的安全檢查。在實現(xiàn)安全性方面,主要采取的措施包括:取消指針操作、 內(nèi)存管理自動化、提供多網(wǎng)絡軟件協(xié)議的用戶接口等。 3.3.4 多線程 通過多線程運行機制,java 支持多任務和并行處理。也就是說,java 可以同時處 理多個執(zhí)行線程。java 編程語言的多線程行,極大改善了 cpu 的吞吐量、響應時間等性 能指標。 3.3.5 分布式 java 中包括了一個支持 http 和 ftp 協(xié)議傳送和接收信息的庫函數(shù),因此可以通過 url 地址在網(wǎng)絡上很方便地訪問其它對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相 同。 4.開發(fā)環(huán)境及相關技術(shù)介紹5 4.1 開發(fā)環(huán)境 操作系統(tǒng):microsoft windows 7 程序語言:java 開 發(fā) 包:java(tm) 2 standard edition (5.0) sun j2me wireless tool kit 2.5.2 jdk 1.8.0 ide: eclipse 4.4 eclipseme1.7.9 4.2 jdk 4.2.1 jdk 簡介 jdk 是 java 開發(fā)工具包(java development kit)的縮寫,它是一切 java 應用程 序的基礎,是整個 java 的核心。j2me 是 java 語言的一種,所以在安裝 j2me 開發(fā)工具 之前,就必須先安裝 jdk。 4.2.2 jdk 的安裝 下載 jdk,使用版本為 jdk 8.0,自定義安裝路徑安裝。 4.2.3 jdk 的配置 配置環(huán)境變量,具體變量及其變量值如下表所示: 變量名變量名變量值變量值 java_homef:javajdk1.8.0_20; pathf:javajdk1.8.0_20bin; classpathf:javajdk1.8.0_20lib; f:javajdk1.8.0_20libtools.jar; 表 jdk 中變量配置列表 4.2.4 jdk 測試 在 dos 模擬窗口中輸入“java -version” ,得到如下圖所示,即安裝 jdk 成功。 圖 測試 jdk 4.3 wtk 4.3.1 wtk 簡介 wtk 的全稱是 sun j2me wireless toolkit sun 的無線開發(fā)工具包。這一工 具包的設計目的是為了幫助開發(fā)人員簡化 j2me 的開發(fā)過程。使用其中的工具可以開發(fā) 與 java technology for the wireless industry (jtwi, jsr 185) 規(guī)范兼容的設備 上運行的 j2me 應用程序。該工具箱包含了完整的生成工具、實用程序以及設備仿真器。 到本文寫作時為止可以獲取有四個版本,分別是 1.0.4, 2.0, 2.1 和 2.2。每個版本都 包括英語,日語,簡體中文,繁體中文 4 個語種包。 4.3.2 wtk 的安裝 下載 wtk,使用版本為 wtk 2.5.2,自定義安裝路徑安裝。 4.3.3 wtk 測試 運行“sun java(tm) wireless toolkit 2.5.2 for cldc” ,彈出如下圖所示界 面證明 wtk 安裝成功。 圖 4.4 eclipse 與 eclipseme 4.4.1 eclipse 與 eclipseme 簡介 eclipse 是一個開發(fā)源代碼的、基于 java 的可擴展的開發(fā)平臺。eclipse 最大的一 個特點就是它是完全免費的,是一種可擴展的開放源代碼 ide。在 eclipse 中幾乎每樣 東西都是插件,且各種插件都為我們提供開發(fā)程序的各種功能。同時各個領域的開發(fā)人 員通過開發(fā)插件,可以構(gòu)建與 eclipse 環(huán)境無縫集成的工具。 eclipseme 為 eclipse 的一個插件,致力于幫助開發(fā)者開發(fā) j2me 應用程序。 eclipseme 并不為開發(fā)者提供無線設備模擬器,而將各手機廠商的實用模擬器緊密連接 到 eclipse 開發(fā)環(huán)境中,為開發(fā)者提供一種無縫統(tǒng)一的集成開發(fā)環(huán)境。 4.4.2 eclipse 與 eclipseme 的安裝 下載 eclips,使用版本為 eclipse 4.4,自定義安裝路徑安裝。 下載 eclipseme,使用版本為 eclipseme1.7.9,自定義安裝路徑安裝。 4.5 wtk 與 eclipseme 的綁定 將 wtk 綁定到 eclipseme,會大大提高開發(fā)者的工作效率。 啟動 eclipse,選擇“windows”菜單,再選擇“preferernces” ,在對話框中選擇 “j2me”選項,再選擇“device management”選項,單擊“import”按鈕,在安裝了 wtk 2.5.2 的路徑下,選擇 wtk 2.5.2 文件夾,再單擊“refresh”按鈕,這是 “devices”列表中就會列出所有模擬設備,如下圖所示,即 wtk 與 eclipseme 的綁定 成功。 圖 5.游戲的開發(fā)與實現(xiàn) 5.1 游戲工程及程序的建立 5.1.1 建立新的工程文件 運行 eclipse 軟件,新建工程 “j2me midlet suite” ,如下圖所示,其中,設 置項目的運行環(huán)境如下圖所示,游戲的工程建立完成。 圖 圖 5.1.2 新建主程序文件 在工程文件夾,新建主程序“j2me midlet” ,如下圖所示,游戲的主程序建立完 成。 圖 5.1.3 向主程序內(nèi)添加類 方法一:鼠標右擊工程文件夾,依次選擇菜單項“new” “class” ,將類命名為 “snakecanvas” ,單擊“finish”按鈕,完成類的加載。 方法二:主程序編寫完成時,在主程序中調(diào)用的類名“snakecanvas”下有紅色下 劃線,說明該類沒有被添加到工程中。用鼠標單擊類名“snakecanvas” ,在出現(xiàn)的下拉 菜單中點擊“create class snakecanvas ” ,如下圖所示,則完成類 “snakecanvas”的加載。 圖 5.2 手機中的坐標系 手機中的 xy 坐標系與普通的 xy 坐標系有所不同,手機中,以屏幕的左上角為原點,水 平方向為 x 軸,垂直方向為 y 軸,如下圖所示: x y 0 y 0 x 普通 xy 坐標系手機中的 xy 坐標系 圖 5.3 游戲的具體實現(xiàn)環(huán)節(jié) 數(shù)據(jù)的初始化; 變量的定義及賦值; 設置屏幕背景顏色為粉紅色; 設置畫筆顏色為紅色,并繪制貪吃蛇蛇身及食物; 食物的產(chǎn)生及其產(chǎn)生位置的限制條件; 蛇身的移動; 手機按鍵功能實現(xiàn); 達到游戲結(jié)束條件時,游戲結(jié)束; 游戲的運行與調(diào)試 游戲的模擬實現(xiàn); 游戲的打包生成; .jad 及.jar 文件的生成 5.4 具體編程的實現(xiàn) 5.4.1 主程序的編寫及功能實現(xiàn) /系統(tǒng)導入相應的包,其中有自動加載的,也有手動導入的部分。具體導入包的情 況,要依據(jù)程序中所用到的類的種類。 import javax.microedition.lcdui.display; import javax.microedition.midlet.midlet; / mymidlet 類的具體實現(xiàn) public class mymidlet extends midlet /實現(xiàn)兩個 canvas 類之間的切換 snakecanvas displayable = new snakecanvas(); public mymidlet() / 獲得當前 midlet 的 display 對象,并設置 snakecanvas 對象為當前的顯示對 象 display.getdisplay(this).setcurrent(displayable); /系統(tǒng)自動生成代碼,本程序中默認其初始狀態(tài) public void startapp() public void pauseapp() public void destroyapp(boolean unconditional) 5.4.2 變量的定義及賦值 public class snakecanvas extends canvas implements runnable 定義貪吃蛇節(jié)點坐標:其中第二維下標為 0 的代表 x 坐標,第二維下標是 1 的代表 y 坐標。 int snake = new int2002; 定義已經(jīng)使用的節(jié)點數(shù)量。 int snakenum; 貪吃蛇運動方向。 0 代表向上,1 代表向下,2 代表向左,3 代表向右 (其中方向的控制變量依據(jù)手機 開發(fā)平臺的不同而不同,例如:nokia 手機開發(fā)平臺中,-1 表示向上、-2 表示向下、-3 表示向左、-4 表示向右。這里所用的為 sun java(tm) wireless toolkit 2.5.2)。 int point; /向上 private final int key_up = 0; /向下 private final int key_down = 1; /向左 private final int key_left = 2; /向右 private final int key_right = 3; 定義游戲區(qū)域?qū)挾取?int width, height; 定義蛇身單元寬度。 private final byte snakewidth = 10; 利用布爾類定義狀態(tài): 是否處于暫停狀態(tài),true 代表暫停; boolean ispaused = false; 是否處于運行狀態(tài),true 代表運行。 boolean isrun = true; 定義食物的 x 坐標及 y 坐標。 int foodx, foody; 5.4.3.數(shù)據(jù)的初始化 初始化開始數(shù)據(jù)。 private void init() ; 初始化屏幕大小。 public snakecanvas() init(); width = getwidth();/設置游戲界面,寬度為屏幕寬度 height = getheight();/高度為屏幕高度 new thread(this).start(); 初始化節(jié)點數(shù)量。 snakenum = 7; 初始化節(jié)點數(shù)據(jù)。 for (int i = 0; i 0; i-) snakei0 = snakei - 10; snakei1 = snakei - 11; 第一個單元格移動 switch (point) case key_up: snake01 = snake01 - snakewidth; break; case key_down: snake01 = snake01 + snakewidth; break; case key_left: snake00 = snake00 - snakewidth; break; case key_right: snake00 = snake00 + snakewidth; break; 5.4.8 手機按鍵功能實現(xiàn) 其中用手機鍵盤中的上、下、左、右鍵來控制貪吃蛇的移動,用中間鍵來控制實現(xiàn) 暫停功能。程序最后增加了 repaint(),即刷屏功能,用來更新游戲數(shù)據(jù)。 public void keypressed(int keycode) int action = getgameaction(keycode); switch (action) case up: point = key_up; break; case down: point = key_down; break; case left: point = key_left; break; case right: point = key_right; break; case fire: ispaused = !ispaused; break; repaint(); 5.4.9 游戲結(jié)束 判斷游戲是否結(jié)束 結(jié)束條件:蛇頭超出邊界或蛇頭碰到自身 private boolean gameover() ; 邊界判別 if (snake00 (width - snakewidth) | snake01 (height - snakewidth) return true; 碰到自身 for (int i = 4; i snakenum; i+) if (snake00 = snakei0 return false; 5.4.10 游戲的運行與調(diào)試 游戲程序編輯完成并保存,鼠標右鍵點擊主程序,依次選擇菜單項“run as” “run configurations” ,在彈出的運行對話框中,雙擊“wireless toolkit emulator” ,再選擇“new_configuration” ,并分別選擇 project“mygame”與 midlet“mymidlet” ,如下圖所示:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校資助辦管理制度
- 學生借閱卡管理制度
- 安全及安全管理制度
- 安息堂物業(yè)管理制度
- 完善公物倉管理制度
- 定額員日常管理制度
- 實訓室規(guī)范管理制度
- 客戶退貨處管理制度
- 客運部安全管理制度
- 家族接待部管理制度
- 西南聯(lián)大課件
- 導游基礎知識(中職)全套PPT教學課件
- 魅力臺州優(yōu)質(zhì)獲獎課件
- ZZ028 中職法律實務賽項賽題-2023年全國職業(yè)院校技能大賽擬設賽項賽題完整版(10套)
- 電動剪刀式升降車作業(yè)風險辨識及控制措施清單
- 巨力索具(河南)有限公司年生產(chǎn)10萬噸鋼絲及5萬噸鋼絲繩項目環(huán)境影響報告
- 提高患者自備口服藥物正確堅持服用落實率
- 三段式電流保護的整定與接線課件
- GB/T 709-2006熱軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- GB/T 5463.3-1986非金屬礦產(chǎn)品名詞術(shù)語石膏、硬石膏
- GB/T 32301-2015航天器包裝、運輸通用要求
評論
0/150
提交評論