freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于eclipse平臺的飛機(jī)游戲的開發(fā)畢業(yè)論文設(shè)計(jì)(文件)

2025-07-31 21:54 上一頁面

下一頁面
 

【正文】 ....................................................................20 6 總結(jié) .............................................................................................................................................21 本程序的總結(jié)和展望 ..............................................................................................................21 感想 .....................................................................................................................................21 7 致謝 .............................................................................................................................................22 參考文獻(xiàn) ..........................................................................................................................................22 英文翻譯 ..........................................................................................................................................22 附錄 英文文獻(xiàn)及翻譯 .......................................................................................................................22 1 1. 緒論 手機(jī)軟件現(xiàn)狀 在信息社會(huì)中,手機(jī)及其他無線設(shè)備越來越多的走進(jìn)普通百姓的工作和生活,隨著信息網(wǎng)絡(luò)化的不斷進(jìn)展,手機(jī)及其他無線設(shè)備上網(wǎng)絡(luò)勢在必行。 2. Java 技術(shù)提供了一個(gè)類庫,它使的應(yīng)用開發(fā)商可以創(chuàng)建更為直覺、豐富的用戶界面 (GUI); 3. Java 技術(shù)使網(wǎng)絡(luò)帶寬的應(yīng)用更為有效,因?yàn)閼?yīng)用程序可以下載到器件上,并在本地運(yùn)行,僅僅是在連接到服務(wù)器時(shí)才會(huì)占用網(wǎng)絡(luò)帶寬。其中 J2ME 定位在消費(fèi)性電子產(chǎn)品的應(yīng)用上。 J2ME 的一個(gè)關(guān)鍵優(yōu)點(diǎn)是, J2ME 與所有支持 Java 的設(shè)備都是兼容的。配置是提供給最大范圍設(shè)備使用的最小類庫集合,在配置中同時(shí)包含 Java 虛擬機(jī)。 作為第一個(gè)面對小型設(shè)備的 Java 應(yīng)用開發(fā)規(guī)范, CLDC 是由包括 Nokia, Motorola 和 Siemens 在內(nèi)的 18 家全球知名公司共同協(xié)商完成 的。 手機(jī)游戲應(yīng)具有的特征 一個(gè)手機(jī)游戲應(yīng)該具有以下特征: 易于學(xué)習(xí) : 既然手機(jī)游戲面向的是普通消費(fèi)者而不是計(jì)算機(jī)專家,那么他們不可能深入的學(xué)習(xí)游戲技巧。手機(jī)用戶常常在任務(wù)(如等一個(gè)電子郵件或者等車)之間有一小段時(shí)間。一開始開發(fā)和設(shè)計(jì)每個(gè)游戲都是昂貴的。對于一個(gè)基于訂閱的游戲,重要的是與別的玩家合作以增強(qiáng)所玩游戲的智力和隨機(jī)性。 好的手機(jī)游戲應(yīng)該利用那些更新的設(shè)備特征和網(wǎng)絡(luò)基礎(chǔ)設(shè)備的優(yōu)點(diǎn)。同時(shí),中國空軍空戰(zhàn)中一共犧牲空勤人員六百六十一名。 3 2. 開發(fā)環(huán)境及相關(guān)技術(shù)的介紹 開發(fā)環(huán)境 操作系統(tǒng): Microsoft Windows XP 程序語言: Java 2 開 發(fā) 包: Java(TM) 2 Standard Edition () Sun Micro. J2ME Wireless Tool Kit IDE: Eclipse Java 語言特點(diǎn) 平臺無關(guān)性 Java 引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺之間的 Java 接口。 面向?qū)ο? Java 吸收了 C++面向?qū)ο蟮母拍睿瑢?shù)據(jù)封裝于類中,實(shí)現(xiàn)了程序的簡潔性和便于維護(hù)性,使程序代碼可以只需一次編譯就可反復(fù) 利用。 關(guān)于 ECLIPSE Eclipse 是一個(gè)開放源代碼的、基于 Java 的 可擴(kuò)展開發(fā)平臺。 Eclipse 還包括插件開發(fā)環(huán)境( Plugin Development Environment, PDE),這個(gè)組件主要針對希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們 構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。 Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ), 比如內(nèi)容管理系統(tǒng)。它通用性高,開發(fā)出的應(yīng)用程序可保證能運(yùn)行在大部分設(shè)備上,而不像專用廠商具有一定的不兼容性。 Java Application Manager 會(huì)從網(wǎng)絡(luò)上下載代表該 Application Suite 的 JAR 檔,接著在手機(jī)上安裝此 MIDlet Suite,然后在手機(jī)開始執(zhí)行該應(yīng)用程序。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件及意外情況考慮在設(shè)計(jì)中。 雙方的飛機(jī)在前 進(jìn)時(shí)也需要考慮到是否碰撞到對方飛機(jī),以免重疊運(yùn)行,造成許多物理上不可能的情況,缺乏真實(shí)感。 游戲的地圖不可能通過繪圖來解決。 游戲的結(jié)束、開始、動(dòng)態(tài)信息畫面作為構(gòu)成一個(gè)程序都是必不可少的重要部分。 MIDlet 及相關(guān)的支持類組成了 MIDP 應(yīng)用程序的實(shí)際內(nèi)容。在啟動(dòng)一個(gè) MIDlet 的時(shí) 候,應(yīng)用管理軟件會(huì)首先創(chuàng)建一個(gè) MIDlet實(shí)例并使得他處于 pause 狀態(tài),當(dāng) startApp()方法被調(diào)用的時(shí)候 MIDlet 進(jìn)入 active 狀態(tài),也就是所說的運(yùn)行狀態(tài)。如果 unconditional 為 false 的時(shí)候, MIDlet 可以在接到通知后拋出MIDletStateChangeException 而保持在當(dāng)前狀態(tài),如果設(shè)置為 true 的話,則必須立即進(jìn)入 destroyed 狀態(tài)。 游戲開始后先繪制地圖,并將各個(gè)對象實(shí)例化。如:玩家剩余飛機(jī)數(shù)是為 0、敵人、玩家飛機(jī)是否被擊中、屏幕上相關(guān)信息的繪制等。點(diǎn)擊 ok 后調(diào)用 MenuScreen 類實(shí)現(xiàn)菜單。從程序開發(fā)的觀點(diǎn)看, Canvas 類可與高級 Screen 類交互,程序可在需要時(shí)在 Canvas 中摻入高級類的組件。 Graphics 類 Graphics 類提供了簡單的 2D 繪圖功能。 技術(shù)下的繪制背景技術(shù) 在沒有 前,進(jìn)行游戲繪圖一般需要手動(dòng)編程使用雙緩沖。繪制動(dòng)畫時(shí)經(jīng)常需要不斷地更新畫面,而更新畫面的操作就是先將屏幕以 fillRect()的方式清除,再將下一張圖片畫在屏幕上,然而反復(fù)的清除及重繪會(huì)造成屏幕的閃爍現(xiàn)象( flicker) ,因此使用雙重緩沖的好處就是在背景進(jìn)行這個(gè)清除及重繪的操作,再將完成的繪圖拷貝到屏幕上,由于用戶看不到清除的操作,因此就不會(huì)出現(xiàn)閃爍的現(xiàn)象了。 新加入了 GameCanvas、 Sprite、 Layer、 LayerManager、 TiledLayer 五個(gè)與游戲開發(fā)相關(guān)的類。 GameCanvas 類繼承自 Canvas,所以具有 Canvas 所具有的功能,還額外增加了一些便于游戲設(shè)計(jì)的功能。 Sprite 類是繼承自 Layer 的用于存儲(chǔ)多楨的基本可視元素。每個(gè)小圖按照其排列順序有相應(yīng)的序號,在程序中調(diào)用其序號,就可以繪制出相應(yīng)的圖片。 LayerManager 存儲(chǔ)了一個(gè)層的列表,新的層可以用函數(shù)附加、刪除和插入。改變 View Window 的位置可以制造出滾動(dòng)屏幕的效果。一塊整圖可被分割成等大小的圖象格,每塊格有其對應(yīng)的序號,按照行列遞增。飛機(jī)之間或與白云碰撞時(shí)就不會(huì)因?yàn)楸尘坝刑囟ǖ念伾?,顯示出的效果像貼上的圖片而缺乏真實(shí)感,物體之間輕微重疊時(shí)最上層圖片也不會(huì)覆蓋超過其有效象素外的部分。在 Game 包中的 TiledLayer 和 Sprite 類都整合了這樣的功能。只需要此一個(gè)函數(shù)的返回值就可以返回所有鍵的狀態(tài)。 8 玩家飛機(jī)被擊中后,為了平衡游戲的可玩性,玩家飛機(jī)將有短暫時(shí)間無敵,即不進(jìn)行碰撞檢測,同時(shí)在屏幕右上角顯示無敵時(shí)間。同理,還需要檢測玩家子彈與敵機(jī)、敵機(jī)與玩家子彈是否碰撞。 在普通敵機(jī)中,有一組敵機(jī)的其中一架具有跟蹤功能,其原理為:當(dāng)其進(jìn)入屏幕后,根據(jù)玩家飛機(jī)的 X、 Y 坐標(biāo)不斷調(diào)整自己的 X、 Y 坐標(biāo),已達(dá)成跟蹤的效果。 在關(guān)尾出現(xiàn)的 BOSS,其在屏幕上方左右移動(dòng)并發(fā)射子彈。由于本游戲僅有一關(guān),所以子彈速度設(shè)定的差別沒有體現(xiàn)出來。 內(nèi)存的優(yōu)化 手機(jī)內(nèi)存空間小,所以在程序設(shè)計(jì)時(shí)應(yīng)該注意以下幾點(diǎn),以盡量減少內(nèi)存的使用: (1)盡量縮短命名的長度。 (4)盡量不使用靜態(tài)變量。 包括內(nèi)存狀況的檢測(手機(jī)上的內(nèi)存空間十分有限,必須時(shí)刻關(guān)注機(jī)載內(nèi)存是否大于程序所能使用到的最大可能的內(nèi)存空間),網(wǎng)絡(luò)狀況的檢測,運(yùn)行函數(shù)的跟蹤等。在程序運(yùn)行中也可以調(diào)用 System 類的gc()函數(shù)手動(dòng)收回廢棄的內(nèi)存。目前流行的如 decode, JAD 等反編譯工 具可以以很快的速度生成源文件。 混淆器的作用不僅僅是保護(hù)代碼,它也有精簡編譯后程序大小的作用。對游戲基本算法等做了詳細(xì)敘述。該類中擁有可以管理程序的創(chuàng)建、開始、暫停(手機(jī)中很可能有正在運(yùn)行程序卻突然來電的情況,這時(shí)應(yīng)進(jìn)入暫停狀態(tài)。使用語句 ok=new Command(ok,1)。當(dāng)玩家點(diǎn)擊 ok 后將調(diào)用 (menuscreen) 以顯示游戲菜單 menuscreen(圖 42)。當(dāng)玩家按住上或下鍵時(shí),在函數(shù)keyPressed(int code)中的整型變量 menuIndex 相應(yīng)的減 1 或加 1,相應(yīng)的,在 paint()函數(shù)中會(huì)根據(jù)menuIndex 繪制選項(xiàng)是否被選中。 11 Mybullets 類繼承 自 Sprite 類,以實(shí)現(xiàn)玩家子彈的相關(guān)功能。 mybullets 類在 gameScreen 中建立了對象數(shù)組 huokebullet[9],代表玩家所能發(fā)射的 9 發(fā)子彈。其主邏輯如圖 44 所示。 地圖的創(chuàng)建 由于手機(jī)存儲(chǔ)空間的限制,不可能將整張地圖完整地存儲(chǔ)在手機(jī)中,為了節(jié)約空間,往往提出地圖中相同的 圖片組成一張 PNG 格式的圖片,然后象拼圖一樣拼出地圖來,專業(yè)的游戲設(shè)計(jì)者往往自己寫一個(gè)地圖編輯器,以使拼圖過程不是那么痛苦。先利用 TiledLayer 的構(gòu)造函數(shù)建立 TiledLayer,根據(jù)構(gòu)造函數(shù)的參數(shù)可以給定 Cell 數(shù)組 的大小,并且地圖圖片切割成等尺寸的畫面,并調(diào)用 setCell()設(shè)置具體的圖象格內(nèi)容。其中 i 的值由循環(huán) for(int i=0。 畫出地圖后,由 ()將地圖添加到 LayerManager 類對象 lm 中。 在 run()函數(shù)中的 while(conti)中, 使用語句 y1=y1+1 使得每次繪圖都使 地圖下移 1 個(gè)象素。所以在 gameScreen類的構(gòu)造函數(shù)分配這 6 個(gè) Sprite 類的存儲(chǔ)空間,并且使用 new Sprite(Image img, int width, int height)實(shí)例化這 6 個(gè)類變量。 conti 的作用在于控制是否 進(jìn)行游戲畫面的重繪及其他需要在畫面重繪前進(jìn)行的運(yùn)算。 在 mandAction()方法中,使用 getabel()方法獲取命令的標(biāo)簽。必須調(diào)用 start()方法的原因是: J2ME 的線程已 stop()方法拿掉,如果想停止線程的運(yùn)做,就必須依靠一個(gè)旗標(biāo) (flag),在本程序中, flag 就是 boolean 型變量 conti。完成此項(xiàng)功能的語句子為 [0] =“再來一次” 。由于設(shè)計(jì)的問題,玩家 的子彈與敵機(jī)的碰撞檢測被寫在了 mybullets 類中,并 且只檢測第一發(fā)子彈是否與敵人相碰撞,如果碰撞為真時(shí),則使用setVisible(false)函數(shù)將敵機(jī)隱藏,使用 setImage()函 數(shù) 將子彈精靈的三張圖片置換為爆炸圖片 ( 圖 48 )。 玩家 4 次游戲機(jī)會(huì)的實(shí)現(xiàn)方法 根據(jù)游戲設(shè)置,玩家在每關(guān)中有共四次機(jī)會(huì),當(dāng)玩家飛機(jī)被擊中或撞擊爆炸后,程序首先檢測整型變量 playerno 的值,并根據(jù) playerno 的值決定屏幕右上角所畫玩家飛機(jī)標(biāo)志的數(shù)量 (參考圖 48), playerno 的初始值設(shè)為 3,因?yàn)榕鲎埠蟛艤p 1,所以玩家共有 4 次機(jī)會(huì),當(dāng) playerno0 時(shí),游戲結(jié)束,同時(shí)將變量 pver賦值為 1, render()或 renderboss()函數(shù)中, over=1 代表在屏幕上GAMEOVER 等相關(guān)信息,同時(shí),將整型變量 inputno 賦植為 1,以使手機(jī)的方向鍵失效,以消除玩家可 以控制爆炸圖像移動(dòng)這個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1