版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、XXX學院畢業(yè)設計(論文)論文題目 J2ME彈球游戲設計 院 (系) 專 業(yè) 計算機科學與技術(shù) 學生姓名 學 號 指導教師 年 月 日J2ME彈球游戲設計摘 要移動開發(fā)已成為開發(fā)人員社區(qū)最流行詞之一。 移動無線游戲互動游戲,包括 和個人數(shù)字助理PDA個人數(shù)碼助理,日益普及的移動游戲也是需求日益增長。 相對于傳統(tǒng)桌面電腦游戲和電視游戲、無線游戲非常不同,如有限界面的大小,內(nèi)存空間的張力諸多限制。 手持游戲,在較近的形式,但部署的無線移動設備的游戲很特殊,不同公司的移動 ,無論外觀、接口的大小,關(guān)鍵方式等不同,造成額外的復雜性。 J2ME java 2微型版近年來,與各種設備,特別是移動通信設備的
2、快速發(fā)展和新開發(fā)技術(shù)的誕生。 它定位在消費電子產(chǎn)品應用、設備、智能化、多樣化,并提供一種革命性的解決方案,其編寫一次,跑的Java功能,提高發(fā)展效率。 J2ME技術(shù)設備平臺不統(tǒng)一的適當使用帶到某程度上,以消除矛盾。 J2ME技術(shù)和結(jié)構(gòu)分析程序和函數(shù)。關(guān)鍵詞: 游戲;J2ME;彈球J2ME Pinball game designAbstractMobile development has become one of the most popular words of the developer community. Mobile wireless game interactive games,
3、including mobile phones and personal digital assistants PDA personal digital assistant, the growing popularity of mobile gaming is also growing demand. Very different compared to the traditional desktop computer games and video games, wireless games, such as limited the size of the interface, the me
4、mory space of tension to many limitations. Hand-held games, closer to the form, but the deployment of wireless mobile devices of the game is very special, different mobile phone, regardless of appearance, the size of the interface, the key way, resulting in additional complexity. The J2ME the java 2
5、 micro edition in recent years, with a variety of equipment, especially the birth of the rapid development of mobile communications equipment and a newly developed technology. It is positioned in the consumer electronics applications, equipment, intelligent, diverse, and provides a revolutionary sol
6、ution, its write once, run the Java function, improve development efficiency. The appropriate use of the J2ME technology and equipment is not a unified platform is brought to a certain extent, to eliminate contradictions. J2ME technology and structural analysis programs and functionsKeywords: game;J
7、2ME;pinball 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc326621795 第1章 課題背景 PAGEREF _Toc326621795 h 1 HYPERLINK l _Toc326621796 引言 PAGEREF _Toc326621796 h 1 HYPERLINK l _Toc326621797 主要研究內(nèi)容 PAGEREF _Toc326621797 h 1 HYPERLINK l _Toc326621798 研究的目的和意義 PAGEREF _Toc326621798 h 2 HYPERLINK l _Toc326621799 第2章 相關(guān)
8、理論和方法 PAGEREF _Toc326621799 h 1 HYPERLINK l _Toc326621800 Java簡介 PAGEREF _Toc326621800 h 1 HYPERLINK l _Toc326621801 Java概述 PAGEREF _Toc326621801 h 1 HYPERLINK l _Toc326621802 Java語言的特點 PAGEREF _Toc326621802 h 1 HYPERLINK l _Toc326621803 J2ME簡介 PAGEREF _Toc326621803 h 2 HYPERLINK l _Toc326621804 J2M
9、E概述 PAGEREF _Toc326621804 h 2 HYPERLINK l _Toc326621805 J2ME的體系結(jié)構(gòu)和配置 PAGEREF _Toc326621805 h 3 HYPERLINK l _Toc326621806 第3章 關(guān)于Eclipse PAGEREF _Toc326621806 h 1 HYPERLINK l _Toc326621807 Eclipse簡介 PAGEREF _Toc326621807 h 1 HYPERLINK l _Toc326621808 Eclipse概述 PAGEREF _Toc326621808 h 1 HYPERLINK l _To
10、c326621809 第4章 游戲的分析與設計 PAGEREF _Toc326621809 h 1 HYPERLINK l _Toc326621810 開發(fā)的環(huán)境和工具選擇 PAGEREF _Toc326621810 h 1 HYPERLINK l _Toc326621811 需求分析 PAGEREF _Toc326621811 h 3 HYPERLINK l _Toc326621812 概要設計 PAGEREF _Toc326621812 h 5 HYPERLINK l _Toc326621813 游戲的關(guān)鍵問題 PAGEREF _Toc326621813 h 6 HYPERLINK l _
11、Toc326621814 第5章 游戲的實現(xiàn) PAGEREF _Toc326621814 h 1 HYPERLINK l _Toc326621815 功能詳細及代碼實現(xiàn) PAGEREF _Toc326621815 h 1 HYPERLINK l _Toc326621816 主類 PAGEREF _Toc326621816 h 1 HYPERLINK l _Toc326621817 歡迎界面 PAGEREF _Toc326621817 h 2 HYPERLINK l _Toc326621818 游戲中的菜單類 PAGEREF _Toc326621818 h 4 HYPERLINK l _Toc3
12、26621819 游戲的配置 PAGEREF _Toc326621819 h 5 HYPERLINK l _Toc326621820 游戲中的大神來助(幫助功能) PAGEREF _Toc326621820 h 6 HYPERLINK l _Toc326621821 小球 PAGEREF _Toc326621821 h 6 HYPERLINK l _Toc326621822 碰撞檢測 PAGEREF _Toc326621822 h 7 HYPERLINK l _Toc326621823 主界面 PAGEREF _Toc326621823 h 8 HYPERLINK l _Toc32662182
13、4 游戲的引擎 PAGEREF _Toc326621824 h 8 HYPERLINK l _Toc326621825 第6章 游戲的運行測試 PAGEREF _Toc326621825 h 1 HYPERLINK l _Toc326621826 游戲的運行和測試 PAGEREF _Toc326621826 h 1 HYPERLINK l _Toc326621827 發(fā)現(xiàn)的問題及解決情況 PAGEREF _Toc326621827 h 1 HYPERLINK l _Toc326621828 結(jié) 論 PAGEREF _Toc326621828 h 1 HYPERLINK l _Toc326621
14、829 致 謝 PAGEREF _Toc326621829 h 1 HYPERLINK l _Toc326621830 參 考 文 獻 PAGEREF _Toc326621830 h 1 HYPERLINK l _Toc326621831 附錄A 中文翻譯 PAGEREF _Toc326621831 h 1 HYPERLINK l _Toc326621832 附錄B 英文原文 PAGEREF _Toc326621832 h 1 課題背景引言目前,無線通信已成為增長最快的國家之一,最尖端的通信。 越來越多的 和其他無線通信設備成為大多數(shù)市民的工作和生活。 在同一時間, 游戲自然成為當今社會的熱點
15、問題。 游戲的發(fā)展勢頭,甚至網(wǎng)絡游戲相比,有不足。 今天,流行的在線游戲,但很難打破,在此窗體中,游戲開發(fā)商和運營商轉(zhuǎn)向 游戲,與真正的3G時代,各種各樣的移動互聯(lián)網(wǎng)接入,無線傳輸技術(shù)的日新月異,更多的 游戲業(yè)步入黃金增長期。 隨著移動通信技術(shù)的快速發(fā)展,彩色 的普及,更有趣、更有活力和無窮的 游戲。 游戲視頻游戲領(lǐng)域的發(fā)展步伐最快的部分,正成為新的寵兒行業(yè),表明市場前景廣闊。 一時間,電信運營商、服務提供商,游戲制造商, 廠商和人人都在談論移動游戲的光明未來。從最早的SMS游戲雅瓦游戲網(wǎng)絡游戲, 游戲產(chǎn)業(yè)正在形成。 移動游戲市場將很快進入快車道,在所有方面的重大突破和非凡表現(xiàn)。 在面對移動游
16、戲市場的巨大潛力,游戲開發(fā)商、運營商、服務提供商和移動終端制造商和其他產(chǎn)業(yè)鏈的參與者開始自己的戰(zhàn)斗準備,以便掌握主動。 諾基亞、索尼愛立信、摩托羅拉和其他主要 廠商開始在游戲中提高 的性能,同時仍在開放平臺的 操作系統(tǒng),方便用戶享受 游戲業(yè)務。 和國內(nèi)游戲公司如盛大、網(wǎng)易,已經(jīng)在 游戲開發(fā)商的行列中。 新浪、搜狐和其他著名的門戶網(wǎng)站,但也有涉足 游戲領(lǐng)域,已開辟了專門的移動游戲頻道和列,以及一些其他的游戲網(wǎng)站充分加速 游戲開發(fā)的步伐。主要研究內(nèi)容 游戲的特點是其品種,良好的移動游戲內(nèi)容和情節(jié)的完美結(jié)合,也不是可有可無的。 本白皮書旨在研究如何處理游戲的詳細信息,實現(xiàn)功能的改進,增加游戲的表現(xiàn)力
17、。 研究的目的和意義80%品牌的 游戲看世界。 品牌游戲主要內(nèi)容就是西方運營商的主打,而國內(nèi) 游戲但質(zhì)量卻很令人擔憂。 根據(jù)控件的網(wǎng)站透露,一旦金融業(yè)尖銳地指出,移動游戲市場質(zhì)量、品牌等游戲星球大戰(zhàn)、蝙蝠俠、蜘蛛俠、指環(huán)等。 人們更加失望。從 游戲的消費者的角度考慮,國產(chǎn) 移動市場的費用將不得不面對兩個問題:首先,消費者可以接受的游戲價格很低,只有3.7元的平均價格為 游戲,雖然越來越多的新用戶加入到 游戲的消費力,但令人擔憂的是,很少有“回頭客”,即使用GPRS用戶可以使用三個月內(nèi)的一些服務,非常少,繼續(xù)使用。這兩個問題的罪魁禍首,本場比賽的質(zhì)量。 “如果價格低廉的 游戲,這是因為他們是唯一
18、值錢”。因此,根據(jù)目前國內(nèi)的現(xiàn)狀, 游戲的質(zhì)量,已成為發(fā)展的瓶頸,讓整場 游戲的后續(xù)健康發(fā)展的道路,我們的運營商已經(jīng)有一個深刻的反思?;谏鲜?,如何做 游戲的細節(jié)和完美的游戲來吸引玩家的關(guān)注是必要的。 相關(guān)理論和方法Java簡介 Java概述Java編程語言的Java是一般術(shù)語由Sun Microsystems inc。 在1995年5月和Java平臺。 HotJava瀏覽器的Java實現(xiàn)Java支持Java小程序顯示魅力:跨平臺,動態(tài)Web,互聯(lián)網(wǎng)計算。 自那以來,Java已被廣泛接受和推廣互聯(lián)網(wǎng)的快速發(fā)展,常用的瀏覽器都支持Java小程序。 在另一方面,Java技術(shù)的不斷更新。 Java語
19、言的特點Java在結(jié)束什么樣的語言? Java是一種非常優(yōu)秀的一個簡單的面向?qū)ο蟮姆植际浇忉屝阅芸煽康陌踩泽w系結(jié)構(gòu)的中立型便攜式多線程的動態(tài)語言。1.易懂Java原本是語言設計的集成控制家電,因此必須簡單明了。 Java語言的簡潔性,主要體現(xiàn)在以下幾方面:1。 Java風格類似于C,所以c#程序員都很熟悉。 在某種意義上,Java語言是C和C語言的變體,因此,c#程序員可以快速掌握Java編程技術(shù)。 2。 Java放棄C可以容易出現(xiàn)程序錯誤,例如指針和內(nèi)存管理。 3。 Java提供豐富的類庫。2.面向的是對象面向?qū)ο笫亲钪匾腏ava功能。 Java語言的設計是完全面向?qū)ο蟮?,它不支持C語言
20、作為面向過程的編程技術(shù)。 Java支持代碼的靜態(tài)和動態(tài)樣式繼承和重用。 從面向?qū)ο蟮奶卣?,Java是類似于SmallTalk,但其他功能,特別是用于分布式計算環(huán)境的功能遠遠超出SmallTalk。3.分開布局方式Java包括子圖書館基于TCP IP協(xié)議支持的 和FTP。 因此,Java應用程序通過URL的美德打開和訪問網(wǎng)絡上的對象,其訪問和訪問本地電腦文件的系統(tǒng)出奇的相似。 分布式環(huán)境,特別是給予非靜態(tài)內(nèi)容的互聯(lián)網(wǎng)是一個不一般藍圖的任務,但Java語法和功能幫助我們輕松實現(xiàn)這個目標。4.健壯Java主觀是檢驗程序在編程譯碼和運行時的非正確地方。以及類型檢驗幫助檢驗出許多開發(fā)未成熟程序出現(xiàn)的不對
21、的地方。Java能自我利用內(nèi)存,降低了內(nèi)存在極有可能出現(xiàn)錯誤的地方的可能性。Java當然還有真數(shù)組,防止了填滿數(shù)據(jù)的可能性。這些功能極大降低了開發(fā)Java應用程序的時間。Java提供Null指針檢驗數(shù)組邊界檢驗異常字節(jié)以及代碼校驗。5.結(jié)構(gòu)方式為中立建立Java作為一個整體網(wǎng)絡,Java編譯到一個中立的中間文件格式結(jié)構(gòu)。 只要有Java運行時系統(tǒng)的計算機可以執(zhí)行此中間代碼。 現(xiàn)在,Solaris2.4體系結(jié)構(gòu)的Java運行時系統(tǒng),windows 95和Windows NT Win32系統(tǒng)。 Java源代碼被編譯到一個高的,并獨立于機器的字節(jié)碼格式語言,這種語言的設計從機器上運行的虛擬機中運行調(diào)
22、試器實現(xiàn)執(zhí)行。6.安全可靠兩個辦法中的Java的安全可以保證。 一方面,在Java語言中,像和釋放內(nèi)存的指針和C功能被刪除,以避免非法內(nèi)存操作。 另一方面,當Java是用于創(chuàng)建瀏覽器、語言功能和瀏覽器功能結(jié)合起來,使之更安全。 您的機器上,Java語言經(jīng)過多次測試。 通過代碼檢查,檢查的格式代碼段,檢測指針操作,對象操作,是否太,并試圖更改對象類型。J2ME簡介 J2ME概述許多 游戲開發(fā)技術(shù),J2ME的快速發(fā)展,短時間,支持更多的 、豐富的自然資源發(fā)展,很受開發(fā)商的歡迎,已經(jīng)成為主流,常見的移動應用開發(fā)技術(shù),廣泛應用于實際的發(fā)展過程。 應用軟件開發(fā)的發(fā)展作為一個新興領(lǐng)域,人才以及產(chǎn)品的需求仍
23、遠未得到滿足,移動應用程序開發(fā)技術(shù)已成為最受歡迎的現(xiàn)在,一個發(fā)展前景廣闊的技術(shù)。J2ME,即java 2的微型版,太陽Java2平臺,微型版java 2平臺,其中的一個版本,J2SE,J2EE說。 J2ME是高度優(yōu)化的Java運行時環(huán)境,并應用于大量的消費電子設備,如移動 、 的 ,屏幕 的可視 、數(shù)字機頂盒、數(shù)字機頂盒、汽車導航系統(tǒng)的汽車導航系統(tǒng)等。 ,但也廣泛使用的移動通信設備,如移動 、雙向?qū)ず魴C、智能卡、個人組織者和掌上電腦掌上電腦記事本。 J2ME技術(shù)移植到Java語言和平臺獨立的小型電子設備共享應用程序的功能,使移動無線設備。 J2ME的體系結(jié)構(gòu)和配置1.J2ME體系的結(jié)構(gòu)所要求的
24、那種靈活性,以便支持資源約束的設備,并且可以自定義部署,這是J2ME的體系結(jié)構(gòu)設計為模塊化和可擴展。 J2ME技術(shù)在定義的模塊化和可擴展性模型中的一個完整的應用程序正在運行,軟件層模型中基于主機操作系統(tǒng)。圖2-1體系結(jié)構(gòu)J2ME系統(tǒng)的總體結(jié)構(gòu):定義配置Java虛擬機頂設備的主機操作系統(tǒng)上運行,構(gòu)成整個平臺的基礎上。 配置提供了基本的語言功能,設備的特殊功能的配置文件提供了API和廣泛的類庫。 應用程序需要配置的經(jīng)營環(huán)境和至少一個配置文件,多個配置文件可以共存的,可以疊加。Java虛擬機層Java虛擬機層:Java虛擬機的一種實現(xiàn),這是為特定設備自定義的主機操作系統(tǒng),支持特定的J2ME配置。層配
25、置:配置層定義的最低組Java類庫中可用的Java虛擬機功能與特定類別的設備。 某程度上,通用部件和庫配置定義Java平臺的功能,這些功能和庫的開發(fā)人員可以承擔屬于特定類別的所有設備上都可用。簡表面層:框架層定義了最低的應用程序編程接口API特定系列中可用的設備。 框架,以實現(xiàn)特定的配置。 是寫給一個特定的應用框架,因此可以移植到框架支持的任何設備。 設備可以支持多個幀。 用戶和應用程序供應商看到的是這層。2.J2ME配置J2ME圍繞一個中心配置的組件。 它們用于消費電子產(chǎn)品和嵌入式設備的特殊類。 J2ME定義兩個配置,這兩個種配置由于不同的計算能力來支持不同的設備對象。連接受限設備配置CLD
26、C連接受限設備配置:此配置定義Java應用程序編程接口,支持手持設備、技術(shù)。 例如 、pda等。 疾病控制連接的設備配置連接的設備配置:配置應用程序編程接口支持插入墻設備、機頂盒等。 關(guān)于EclipseEclipse簡介Eclipse是IBM下一代視覺年齡的替代它集成了發(fā)展環(huán)境,但其目標不僅僅是一個專門的IDE環(huán)境開發(fā)Eclipse體系結(jié)構(gòu)下的Java程序,通過發(fā)展插頭項,它可以擴展到任何languagecan發(fā)展成為繪圖工具的圖片。 Eclipse C語言發(fā)展中的作用插頭項。 Eclipse是一個開源項目,任何人都可以下載Eclipse源代碼,并在這個基礎上發(fā)展自己的插頭項功能。 這是未來只
27、要人民需要,那里將建在月蝕、腳本語言和其他語言to發(fā)展插頭項。 通過發(fā)展新的插頭項擴展現(xiàn)有的插頭項功能,如Tomcat現(xiàn)有的Java開發(fā)環(huán)境中的服務器插件。 無限可擴展,具有統(tǒng)一的外觀、操作和系統(tǒng)資源管理,這就是它的潛力。圖3-1 EclipseEclipse概述 Eclipse項目分成3個子項目: 平臺-Platform 開發(fā)工具箱-Java Development Toolkit(JDT) 外掛開發(fā)環(huán)境-Plug-in Development Environment(PDE)。 Eclipse版本介紹 釋出版本(Release builds) 穩(wěn)定版本(Stable builds) 整合版
28、本(Integration builds) 當日最新版(Nightly builds) 跨語言、跨平臺性 大部分人認為Eclipse是一個Java IDE中,但是,它集成了JDT下載蝕,PDE。 然而,Eclipse工具平臺。 JDT其實是Eclipse中添加產(chǎn)品,即插頭項。 Eclipse本身實際上是指Eclipse平臺的Eclipse平臺,除了Java工具還可以實現(xiàn)下載,它還提供了多種工具來支持平臺本身是相當小的軟件。 如果要開發(fā)的Java程序,使用Eclipse JDT插件程序附帶的。 如果希望程序在其他languages發(fā)展,需要把其他的插頭項,如CDT c#開發(fā)工具包可以在C C程序
29、開發(fā)。 計算機語言的日食would的人類語言。 可以使用相同的插件機制,增加對不同languages的支持,使用特殊的插件程序,調(diào)用插件片段。 IBM捐贈中文繁體和簡體語言包的支持,法語、德語、意大利語、日語、朝鮮語、巴西葡萄牙語和西班牙語。 Eclipse是使用Java編寫,理論應該在任何平臺上執(zhí)行。 但嚴格來說,Eclipse不是跨平臺的,因為它使用本機的圖形操作平臺建設。 因此,SWT標準微件工具包移植到平臺,Eclipse平臺上可以執(zhí)行。 但現(xiàn)實不是大問題,因為外使用已被移植到了一些共同的平臺,包括Windows,Linux主題LinuxGTK2,Solaris QNX,AIX,與Ma
30、c OS X的hp-ux。2.Eclipse 平臺 Eclipse平臺是一個集成機制的目的為提供各種軟件開發(fā)工具,這些工具將成為Eclipse插件,必須擴展選項,再重新啟動是有用的平臺。 Eclipse美的設計是這一切都是插件,除了核心的底部。 這插件旨在使Eclipse具有強大的可擴展性,但更重要的是這個平臺的共同合作提供了一個很明確的機制,允許各種插頭項通過擴展點和貢獻,因此新功能,可以輕松地和無縫聯(lián)接平臺。 概觀 首次運行Eclipse,它將建立一個工作區(qū)的目錄在Eclipse目錄中,默認情況下,此目錄中的所有工作將會繼續(xù)存在。 備份工作目錄,此目錄備份行。 Eclipse的升級到新版本
31、,只要此目錄復制過去。 要看新版本,發(fā)行說明,以確保它支持以前版本的工作區(qū);不支持舊區(qū)的子目錄復制到新的日食目錄可以。 所有的個人設置將被保留。圖3-2選擇工作區(qū) 架構(gòu) Eclipse平臺由幾個組件:平臺的核心內(nèi)核,工作臺,工作區(qū),團隊電車組件和組件描述幫助。圖3-3結(jié)構(gòu) 項目與資料夾 如果您要手動操作文件、復制或查看文件大小,你必須知道文件的放置位置。 操作系統(tǒng)更改本機文件系統(tǒng),發(fā)生在各種操作系統(tǒng)需要符合程序的運作。 要解決此問題,Eclipse提供了一個抽象級別以上的文件系統(tǒng)。 也就是說,它不使用分層目錄包含文件的子目錄結(jié)構(gòu),相反,最高一級的Eclipse項目,在項目文件夾中使用。 默認情
32、況下,該項目對應于工作區(qū)的目錄下的子目錄,和文件夾對應于項目目錄下的子目錄。 Eclipse項目內(nèi)的一切基于獨立和獨立于平臺的存在。 平臺核心 核心任務是把一切移動,并加載所需的插頭項。 當你開始月食時,第一個實現(xiàn)此組件,該組件加載其他插頭項。 工作區(qū)(workspace) 工作區(qū)是負責管理的用戶資源,這些資源將被組織到一個或多個,上面。 Eclipse區(qū)中的每個項目對應于一個子目錄的目錄。 每個項目可以包含多個文件和文件夾,每個文件夾通常對應于項目目錄下的子目錄,但還可以連接到任何目錄文件夾中的文件系統(tǒng)。 每個工作區(qū)保持低水平的歷史,并記錄每個資源的變化。 所以我們可以立即恢復更改,請返回到
33、以前保存的狀態(tài),在或前幾天之前,可能是一天,根據(jù)用戶設置的歷史記錄。 這段歷史可以最大限度地減少資源丟失的風險。 工作區(qū)也有責任通知有關(guān)的工具來更改工作區(qū)的資源。 項目性質(zhì)的工具可以標記為一個項目,項目性質(zhì),例如,標記為Java項目,必要時,配置代碼的項目資源。 工作臺(workbench) 當運行Eclipse工作臺僅次于核心平臺的日食在最基本的組件中時,Eclipse工作臺工作臺的基本接口將遇到的,在啟動Eclipse工作臺的工作是非常簡單的后,主窗口,itdo不知道如何編輯、執(zhí)行調(diào)試,只知道如何查找項目和資源,如文件和文件夾。 如果它不能做它把其他組件,如JDT。圖3-4工作臺 工作臺看
34、起來像操作系統(tǒng)內(nèi)建的應用程序,可以說Eclipse功能,而且在問題。 工作臺本身可以說,日食圖形用戶界面,它是Eclipse的體系結(jié)構(gòu)的自己的標準圖形工具箱工具包外使用的標準構(gòu)件和JFace一種基于外使用。 外使用將使用操作系統(tǒng)的圖形支持,使程序的外觀與操作系統(tǒng)。 這和過去的大多數(shù)Java程序是非常不同的,即使使用擺動,但還沒有這樣的。 視圖(View) 工作臺將會有許多不同種類的內(nèi)部窗口,叫做查看視圖,以及一個特殊窗口編輯器編輯器。 它的名字叫做視圖,因為這些是不同角度查看的窗口,可以看到整個項目大綱視圖項目中的Java類的近似狀態(tài)Navigator視圖中可以瀏覽整個項目。 查看支持編輯器,
35、可以提供替代呈現(xiàn)或工作臺信息導航。 例如:書簽視圖將顯示所有工作臺中的書簽,并將伴隨著與文件關(guān)聯(lián)的書簽名稱。 導航器視圖將顯示項目和其他資源。 查看有兩個菜單,首先是要使用鼠標右鍵單擊要查看訪問菜單的標簽,就可以類似于工作臺窗口視圖菜單中相同的方式來操作。 調(diào)用第二個菜單的下拉菜單的視圖,訪問方法是單擊向下箭頭。 視圖下拉菜單包含操作通常會被應用到視圖中的全部內(nèi)容,而不是應用于特定視圖中顯示的項目。 排序和篩選操作通??梢栽谝晥D下拉菜單中找到。圖3-5視圖自定義表格是使用窗口重置的觀點菜單的好時機。 重置操作將布局初始狀態(tài)的還原過程。 選擇一個視圖窗口放映視圖菜單以顯示它。 現(xiàn)場確定必要的視圖
36、,它將視圖顯示在放映視圖子菜單。 選擇顯示視圖子菜單底部的其他.。 ,你可以使用其他視圖。圖3-6其他視圖 游戲的分析與設計 開發(fā)的環(huán)境和工具選擇本游戲主要用的是J2ME通用的開發(fā)工具,能夠開發(fā)運行在所有支持J2ME技術(shù)的 上的程序,開發(fā)環(huán)境和工具如下:操作系統(tǒng): Microsoft Windows XP程序語言: Java 2開發(fā)包: Java(TM) 2 Standard Edition (5.0)Sun Micro. J2MEIDE:圖4-1 J2ME虛擬機圖4-2 J2ME虛擬機圖4-3 Eclipse圖4-4 Eclipse登陸界面 需求分析彈球游戲,休閑游戲類。在游戲中,玩家可以控
37、制滑板移動屏幕上通過鍵盤,趕上和改變屏幕上的球反彈。模型在球的飛行,從屏幕中心用戶按Selecte關(guān)鍵的時候,它會出現(xiàn)在屏幕上的移動鏡面反射,小擋板提前到墻壁或屏幕前實施攔截運行時球的運動控制,預判攔截球,要求球員在小球反彈到隧道深處前,使用鍵,以便它可以反彈,每個成功攔截,加1分,如果不能成功攔截游戲失敗。圖4-5游戲運行時界面1.游戲主菜單游戲容易理解菜單設計,并允許玩家快速進入游戲。 與菜單播放機可以清楚地知道哪些功能,以及哪些功能和可以玩的游戲,然后迅速了解游戲。 游戲主要功能的菜單:選擇鍵或數(shù)字鍵5開始游戲,數(shù)字鍵上的數(shù)字鍵左下數(shù)字鍵,對數(shù)字鍵退出比賽。 在球員選擇開始冒險進入主要的
38、游戲界面;周圍的擋板和移動時,選擇,;選擇退隱江湖將退出程序。圖4-6選擇界面圖4-7歡迎界面2.游戲的關(guān)卡設計一般而言,游戲級別設計相關(guān)的整個設計游戲的成功與否。 設計級別,來滿足很多,既不太簡單也不太困難,否則你會失去大量的球員參加。 玩彈球彈跳速度和難度框設置檢查站彈球炸彈早框中,玩穿越程度越高困難越大。 由于為了達到簡單的游戲效果,所以這個節(jié)目通關(guān)時,自動跳到下一關(guān)功能,如果沒有通過則重新開始。3.分數(shù)統(tǒng)計游戲得分統(tǒng)計系統(tǒng)是吸引關(guān)鍵的球員之一。 很多人玩游戲,不希望看到比賽的最后結(jié)果,以便獲得高分。 比賽的進程,顯示當前屏幕左上角得分。圖4-8分數(shù)統(tǒng)計概要設計游戲的全過程由操作整個游戲
39、操作開關(guān)切換過程包括:進入菜單界面,游戲界面游戲主人流程圖圖所示:圖4-9流程圖游戲的關(guān)鍵問題1.對滑板的移動控制滑板是游戲的關(guān)鍵之一,滑板游戲過程中通過移動捕捉線和更改球的彈跳,通過鍵盤發(fā)送的控制消息。 由于滑板移動的方向,所以要為響應函數(shù)的箭頭鍵。 滑板移動過程中,還需要檢測的滑板的位置,滑板不會被移動到屏幕。2.彈球的彈跳路線主要是彈球游戲,你需要實現(xiàn)自我繪制的。 此外,一個很重要的問題是產(chǎn)生彈球反彈行。 線生成算法還需要確??梢圆粫a(chǎn)生連續(xù)的同一行,否則將會有一個來回彈跳的大理石在一個地方,造成乒乓球現(xiàn)象,他們失去了原來的游戲的意義。3.碰撞檢測游戲有一個地方遇到碰撞的問題:小球和滑板
40、和壁面碰撞。 小球和滑板和壁面碰撞的反彈球。 自然的碰撞檢測碰撞檢測的碰撞過程,最簡單的方法是使用類。 使用類的另一個優(yōu)勢是從畫功能已經(jīng)封裝對象的類,不同類型的對象只需要重寫函數(shù)可以實現(xiàn)自己畫的方法,大大簡化了程序的執(zhí)行過程。 游戲的實現(xiàn)功能詳細及代碼實現(xiàn)本游戲使用游戲引擎的游戲主機的控制流。 游戲界面游戲引擎是一個屬性,游戲運行的游戲引擎為核心。 在游戲運行過程中發(fā)動機不斷更新狀態(tài)和狀態(tài)更改顯示在屏幕上,以便獲得所有看到的比賽。 圖5-1主界面主類 圖5-2游戲主界面為每個MIDlet主類,該類必須繼承MIDlet類,它控制整個計劃的運作。類可以管理程序的創(chuàng)建,啟動,暫停,函數(shù)結(jié)束。該方案的
41、主要類PinbalMIDlet。 PinbalMIDlet主要包括一個構(gòu)造PinbalMIDlet()時,starApp()的pausApp()的destryApp和一些自定義的方法。其中的構(gòu)造PinbalMIDlet()用于創(chuàng)建游戲菜單對象,并調(diào)用可顯示seturret()設置當前顯示的菜單的方法;在startApp()方法,以確定起始變量,如果屬實,創(chuàng)建的主要游戲接口對象屏幕屏幕=新的屏幕(這)和創(chuàng)建引擎對象發(fā)動機=新引擎(屏幕),發(fā)動機的對象綁定到主界面,然后的呼叫seturret()方法來顯示主接口;的pauseApp()方法被調(diào)用時,比賽暫停。的destryApp方法被調(diào)用時,程序結(jié)
42、束。自定義的方法:NewGame()方法設置的變量開始進入游戲主界面的“=”false,然后調(diào)用的starApp()方法;設置()方法調(diào)用setCurrent()方法創(chuàng)建一個對象的新設置,并設置它為當前顯示的; (的destryApp(true)方法調(diào)用主類)的方法,ShowMainMenu()方法,并設置()以同樣的方式; exit()方法退出程序。圖5-3可選擇的選擇界面歡迎界面歡迎屏幕從一個繼承Canvas類來實現(xiàn)啟動畫面類。在構(gòu)造函數(shù)實現(xiàn)圖5-4歡迎的界面在PinbalMIDlet對象的MIDlet的參數(shù)傳遞給構(gòu)造主類this.midlet= midle方法調(diào)用的setFulScree
43、nMode一套全屏幕的照片,然后Image.createImage(“/ wel。png”)加載圖像。除了構(gòu)造函數(shù),啟動畫面類還定義了一個按鈕響應方法的kePressed方法,調(diào)用主的類ShowMainMenu(),當玩家按任意鍵進入游戲主菜單。代碼如下:class StartScreen extends Canvasprivate final PinbalMIDlet midlet;private Image splashImge;public StarScreen(PinbalMIDlet midlet)this.midlet=midlet;setFulScreenMode(true);t
44、ry Image(/wel.png);intln(純白界面!);游戲中的菜單類圖5-5游戲菜單中的幫助菜單MainMenu類定義了一個String數(shù)組MainMenu中添加的菜單接口,在其構(gòu)造數(shù)組賦值:MainMenu的0=“開始冒險”;MainMenu的1 =“配置”;MainMenu的2=“大神來助”;MainMenu的3=“退隱江湖”;構(gòu)造函數(shù)定義為0整數(shù)menuIdx分配,反過來實例化一個Thread對象,并交換其start()方法,使線程。球員按住向上或向下的keyPressed(INT代碼)方法,在的keyressed(代碼)函數(shù)整數(shù)變量menIndex相應減一加一,在相應的pai
45、nt()的功能menIndex平局選項被選中。當menIdx=0,請進入游戲主的類NewGame()方法;幫助時menIdx= 2時,呼吁幫助進入游戲的主類()方法設置()方法的menuIdx= 1時,調(diào)用主類的游戲設置界面;接口; menuIdx= 3,調(diào)用類出口的主要()方法退出程序。圖5-6選擇退隱江湖退出程序代碼如下:public Settings( PinballMIDlet midlet ) super(配置);this.midlet=midlet;ok = new Command(確定, Command.OK, 1);String a = 開,關(guān);String b = 三等獎,
46、二等獎, 一等獎, 特等獎;游戲的配置該類Setings繼承了Form并且能完成監(jiān)聽接口CommadListener。用此來顯示一個Form,玩家可以設置游戲聲音的開/關(guān)和進行提前選關(guān),當完成相應所選的關(guān)卡后有相應獎勵。圖5-7配置中的界面設置類定義了兩個變量的命令確定和ChoicGroup類的聲音,水平。 OK =新的命令構(gòu)造的聲明(“確定”,Commad.OK,1)建立確定的命令和表格之間的關(guān)聯(lián),然后調(diào)用setCommadListener()命令,以表格的CommadListener副定義的字符串 A =“開放”和“關(guān)閉”的String =“三等獎”,“二等獎”,“一等獎”,“特等獎”,然
47、后分別實例ChoicGroup類,并最終調(diào)用的append(),并通過ChoiceGroup添加到窗體。 commadAction()方法的命令監(jiān)聽器,當commadaction= OK,調(diào)用主的類ShowMainMenu()方法返回游戲主菜單。代碼如下:public Settings( PinbalMIDlet midlet ) super(配置);this.midlet=midlet;ok = new Commad(確定, Commad.OK, 1);String a = 開,關(guān);String b = 三等獎, 二等獎, 一等獎, 特等獎;游戲中的大神來助(幫助功能)回到命令的大神來助類中
48、定義一個靜態(tài)字符串變量TXT=“XX”(其中xxx是大神來助內(nèi)容的游戲)幫助類的構(gòu)造,使用背面=新的命令(“回歸”,Comma,1)Commad對象的實例,添加一個返回按鈕,然后調(diào)用addCommad(bak)到形式bak小按鈕的CommadListener聯(lián)接到setCommadListener;使用append(new StringItem(null,TXT)StrigItem的類實例的形式來添加游戲,以幫助內(nèi)容。在commadAction(commad C,display D)C =返回,調(diào)用ShowMainMenu()方法返回到游戲的主菜單。小球從可變計數(shù)器的paint(Grahics
49、 g)的繪圖功能來周期計數(shù),當+counter=6,counter = 0,然后offest - 偏移量來確定的方向陰影的偏移與gsetColor,(color. getRGB()設置顏色g.fillArc(X,Y,寬度,高度,360)來填補,g.setColor(brighter.getRGB()設置明亮,g.draArc(X2,Y 2,寬度 - 高度 - 4,180+偏移量,-90)畫出明亮的效果G.setColor(darkr.getRGB()設置暗,g.draArc(X,Y,寬度,高度0,-90)繪制出黑暗的效果。小球的行為:使用bouncHorizontal()方法來實現(xiàn)的球反彈水平
50、;的使用bouncVertical()方法來實現(xiàn)垂直反彈球,bounce(Sprte other)的方法一般反彈。一般的反彈,以防止“乒乓效應”,你需要一定的概率隨機微妙的變化球線反彈。不過,路線的變化幅度不是太大,將嚴重扭曲或小球彈跳動作。如果的原始移動到左(DX0),反彈反彈2 CX,CY,整數(shù)變量的定義bounce(Sprte other)中獲得球的位置,決定了球的運動原來的方向,將權(quán)利運動(DX);如果球移動到右側(cè)(即DX0),反彈將向左移動(DX );如果原來的球被移動(DY 0),反彈將上升(DY移動)。最后,通過= DX0? -1:1,OY= DY0? -1:1,實現(xiàn)了一定的原始
51、球的方向偏移的概率,以防止“乒乓效應”。碰撞檢測自繪制函數(shù)paint(Graphics g),盒g(shù).setColor(color.getRGB()設置的顏色,色g.fillRect(X,Y,寬度,高度)填寫,然后3D效果圖:G.setColor(brighter.getRGB()設置明亮,G.setColor的(brighter.getRGB()和g.drawLine(X,Y,x寬,Y)提請明亮的邊界范圍,G通過setColor(brighter.of的getRGB()設置的黑暗,g.drawLine(x寬,Y,x的寬度,Y高度)和g.drawLine(X,Y,高度,寬度的X,Y,高度)畫一個
52、黑暗的界限。小球和盒子碰撞功能,標準磚時調(diào)用clear()方法在包裝盒上刪除,并返回相應的分數(shù)值,而不是標準箱,與球的碰撞時,調(diào)用類的moveBrick(非營利組織BrickList ,neighbor.nPos)框框。與球碰撞函數(shù),返回相應的分數(shù)值的框框。BrickList類是一個容器類,用于組織和管理框,負責創(chuàng)建框,繪制和消除工作。喜歡的BrickList類的構(gòu)造實現(xiàn)創(chuàng)建框的方法moveBrick(INT,INT)用來移動框;的方法isClean()是否有用來判斷列表框消除。其中還包含了一個非常重要的方式 與球碰撞檢測箱。碰撞檢測方法checkForCollision的(兩個球),X =(
53、ball.getCenterX() - XOFFSET)/(Brick.WIDTH Brick.GAP)來獲取相應的框球列位置if語句來判斷,如果不是在方塊內(nèi)(X=寬度)返回0;/(Brick.HEIGHT Brick.GAP)對應的方塊線位置與y=(ball.getCenterY() - YOFFSET)的小球內(nèi)框,如果不返回0。然后平方的方法來衡量球和方塊碰撞,只用一個盒子碰撞測試,如果發(fā)生碰撞,然后返回方塊得分。主界面用于繪制游戲界面背景:g.setColor(BACKGROUND)painBackground(Grphics gpainTitle(Graphics gpainBackg
54、round()方法來繪制背景,呼叫painShadow(GRAHICS)繪制陰影發(fā)動機,pain(GRPHICS)方法,提請框設置字體格式; g.setFont(Font.getFont(PORTIONAL,F(xiàn)ont.STYLE_BOLD,F(xiàn)ont.SIZE_LARGE),g.setColor(ThreDColor.black.getRGB()設置字體顏色,g.drawString(“輸入字體”,寬度/2 1,身高/ 220 TH_ANCHOR)繪制的字符,然后設置為紅色,用同樣的方法繪制,顯示三維效果的顏色。用于繪制信息的方法paintOver(Grahics G)結(jié)束,畫的背景下,在調(diào)用此
55、方法paintBacground(G)與g.setFont(Font.getFont(PORTIONAL,F(xiàn)ont.STYLE_BOLD,F(xiàn)ont.SIZE_LARGE)字體格式g.setColor(ThreDColor.black.getRGB()設置顏色,String(“游戲完結(jié)!”,寬度/2 1/3,身高 - 10,TH_ANCHOR)繪制字符,然后得出以上的顏色設置為紅色的標題,然后重新繪制的字符顯示三維效果。 游戲的引擎這個類實現(xiàn)Runable接口。在其構(gòu)造函數(shù)來創(chuàng)建一個屏幕對象傳遞給引擎,所以它可以控制屏幕對象的游戲抽獎過程。引擎類還包括滑板運動控制,判斷和進入游戲狀態(tài)。屏幕顯示板
56、必將在發(fā)動機類發(fā)動機(屏屏)構(gòu)造的使用(這)screen.setEngine=新磚(空Scren.width/ 2 - Brick.WIDTH/ 2,Scren.VDIVIDER - 磚對象創(chuàng)建高度 - 4,-1,2)實例化的滑板磚,球新球,(Scren.width/2 - Brick.WIDTH/ 4,board.y - 2* Ball.RADIUS2* Math.max (1 Scren.width/ 80)2* Math.max(1/80,Scren.width)球?qū)ο髮嵗齽?chuàng)建一個小球,用磚頭=新BrickList“(patTitle,PATTERN_WIDTH,-1)實例BrickLi
57、st =新線程(本)的的呼叫runer.start()方法使線程的Thread對象的實例對象的創(chuàng)建中,設置游戲等級nLevel= 0,設置國家nState=標題線程亞軍。在游戲的狀態(tài),如果發(fā)動機類的Run()函數(shù)來控制游戲的游戲循環(huán)流量:當比賽處于暫停狀態(tài);(board_speed 0| | board_speed PX PW 0 &= board.y board.height判斷球是否摔倒在地上,如果登陸的玩家損失的生命值(nLives - )比賽結(jié)束時,所有球員的生命損失的最終價值(nLives0)(游戲狀態(tài)nState=過游戲分級nLevel=0)。 游戲的運行測試游戲的運行和測試用自帶
58、的 模擬器運行后,游戲的基本功能基本上已經(jīng)實現(xiàn),下面來介紹一下測試的情況:作為一個真正的產(chǎn)品要經(jīng)過單體測試、結(jié)合測試和系統(tǒng)測試。單元測試實際上就是編程人員自己對程序模塊的功能測試。由實際環(huán)境所限,沒有Java ,無法架設OTA服務器,因此也只能放棄系統(tǒng)測試。下面主要講述結(jié)合測試。首先是打開wtk2.2的KToolbar對游戲進行打包產(chǎn)生jad文件。然后打開wtk2.2自帶的Run MIDP Application工具,加載jad文件,程序就會自動運行,選擇launch上PinballMIDlet這個程序,游戲畫面就會躍然屏幕之上,接下來的工作就是動動手指來玩這游戲了。最后在玩的過程中把發(fā)現(xiàn)的問
59、題都一一記錄下來。發(fā)現(xiàn)的問題及解決情況幾乎所有的軟件產(chǎn)品在開發(fā)之初都會存在這樣那樣的不足,有的是功能不符合需求,也有細節(jié)方面的邏輯錯誤。測試中發(fā)現(xiàn)的問題如下:1.在進入游戲時偶爾會出現(xiàn)閃屏現(xiàn)象,可能是由于用了兩個線程的緣故(在菜單的實現(xiàn)和游戲引擎中都用了線程)。但是菜單中不用線程的話就實現(xiàn)不了菜單的選擇功能了,暫時還未想到解決的辦法。2.在游戲主界面上加的監(jiān)聽命令未能實現(xiàn)其功能,點了“暫?!焙汀巴顺觥倍紱]反應,未能實現(xiàn)“暫停游戲”和“繼續(xù)游戲”的功能,所以去掉。3.分數(shù)記錄系統(tǒng)不夠完善,沒有用一個單獨的窗口來顯示高分記錄榜。由于時間比較倉促,上述問題還有待解決。結(jié) 論畢業(yè)設計是本科學習階段的理
60、論和實踐,這樣的設計非常罕見的組合的機會,我要擺脫純粹的理論知識的學習狀態(tài),我申請的專業(yè)知識和實用的設計與運動相結(jié)合的基礎解決工程實際問題,同時也提高我的訪問,以文學,設計手冊,設計規(guī)范,以及其他能力的專業(yè)水平的能力,而且還通過全面控制當?shù)刭Q(mào)易的平衡,以及在自由裁量權(quán)的詳情的問題,都讓我鍛煉的能力,經(jīng)驗豐富,將力的質(zhì)量,抗壓強度和耐力也得到了不同程度的改善。這是我們都不愿意看到的正是我們畢業(yè)設計的目的。畢業(yè)設計的范圍,這個過程是乏味的,但我收獲更豐富。各項制度的適用條件,標準的各種設備,安裝各種渠道的選擇,設計,并繼續(xù)成為熟悉并學會使用。和老師溝通,讓我上提出了新要求,從經(jīng)濟角度來看,設計新的
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學數(shù)學一年級第二學期口算計算共3011道題
- 2025年四川貨運資格證在哪里練題
- 2025年馬鞍山考貨運從業(yè)資格證
- 七年級 下學期 地理 商務星球版《澳大利亞》合作探究教案(第1課時)
- 2025年西雙版納從業(yè)資格證模擬考試題下載貨運
- 2025年鶴崗貨運資格證考試口訣
- 2025年天津貨運從業(yè)資格證考試題庫答案解析大全
- 企業(yè)如何應對不斷變化的安全法規(guī)環(huán)境
- 制造業(yè)的數(shù)字化轉(zhuǎn)型與工業(yè)互聯(lián)網(wǎng)的溝通技術(shù)
- 2025年廣州貨運考試
- 倉庫租賃服務投標方案(技術(shù)方案)
- 項目投資決策分析與評價(天大微專業(yè))智慧樹知到期末考試答案章節(jié)答案2024年
- 語言、文化與交際智慧樹知到期末考試答案章節(jié)答案2024年湖南大學
- 湖北省竹山縣四棵樹釩礦礦產(chǎn)資源開發(fā)利用與生態(tài)復綠方案
- 品質(zhì)部組織架構(gòu)圖構(gòu)
- 上海市浦東新區(qū)2023-2024學年一年級上學期期末考試數(shù)學試題
- 教學課件-思想政治教育心理學-楊芷英
- 可研報告軟件
- 玉米大壟免耕栽培技術(shù)
- 國有企業(yè)安全部、環(huán)保部2024年安全生產(chǎn)工作要點
- 2024年醫(yī)德醫(yī)風課件(增加附錄條款)
評論
0/150
提交評論