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

正文內(nèi)容

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

2024-08-27 21:54上一頁面

下一頁面
  

【正文】 與命令進(jìn)行交互的 時候,就會通過 CommandListener 的類必須實(shí)現(xiàn) mandAction()方法。 當(dāng)玩家通關(guān)時或者任務(wù)失敗時 ,將顯示相應(yīng)信息,并使用上面的方法將 “ 暫停 ” 鍵變?yōu)?“ 返回 ” 鍵盤,當(dāng)點(diǎn)擊 “ 返回 ” 鍵時,將返回主菜單選項(xiàng),調(diào)用類 lzhhdm 里的方法 menuscreensecond(),在此方法中,實(shí)例化一個 MenuScreen 類對象,并且使選項(xiàng) “ 開始 游戲 ” 改變?yōu)?“再來一次” (圖 47)。 敵機(jī)與玩家的碰撞檢測原理同上,都是使用的 collidesWith()函數(shù),遺憾的是,我在寫這段代碼的時候,并沒有考慮設(shè)置玩家有 4 次機(jī)會,所以對敵人飛機(jī) setVisable(fasle)了,而將玩家的飛機(jī)換成了爆炸圖片,之后,添加了玩家 4 次機(jī)會這個功能,由于玩家被擊落后會重新從屏幕下方進(jìn)入屏幕,所以爆炸的圖片一閃而過,效果不是很好。 input() input()函數(shù)的作用是檢測用戶的輸入。如果為真,則執(zhí)行語句 (0),表示只要左鍵松開飛機(jī)的形態(tài)都是平飛。 huokebullet[z].no=huokebullet[z].bulletheight 賦予子彈射程。 renderboss()方法重繪的是關(guān)尾的精靈 cboss、相關(guān)信息等,與render()的區(qū)別在與于函數(shù) (g,0,0),起始坐標(biāo)是不可變的,即,關(guān)尾的地圖背景是不可變的。 當(dāng) sboss 飛入屏幕后,將 sbz 賦 值為 2,以執(zhí)行下面的 if(sbz==2)語句。 圖 49 15 使用 if((y1==1000)amp。 首先使用 ()和 ()設(shè)定可視范圍 ViewWindow 和從哪 里畫起 (見 )。i=i+3),即檢測 3 組子彈中每組的第一發(fā),即 0, 3, 6。同時,還需要判斷飛機(jī)是否飛出屏幕,如,當(dāng)飛機(jī)右飛時,用 if(()(getWidth()()))語句判斷 (getWith()為屏幕的寬度, ()為玩家飛機(jī) c1 的寬度 ),如果條件為真,則使用 ((getWidth()()),())語句將飛機(jī)設(shè)置在緊靠屏幕右邊的位置。設(shè)定 pzbz=1,即不檢測碰撞,玩家有短暫時間無敵,無敵時間由屏幕右上角進(jìn)度條表示。 Sprite 類對象的碰撞檢測及相關(guān)屬性 游戲進(jìn)行中,即在 while(conti){ }中,需要進(jìn)行玩家飛 機(jī)、子彈與敵機(jī) 的碰撞檢測,即使用函數(shù)collidesWith(Sprite,boolean)。當(dāng)玩家點(diǎn)擊 “ 繼續(xù) “ 時, conti 賦值為 true,并且,一定要調(diào)用 start()方法,否則繼續(xù)功能不可用。 在構(gòu)造函數(shù)中,定義 boolean 型變量 conti=true。 其次, render()函數(shù)中,使用 (0,0,getWidth(),getHeight()+10000)設(shè)定可視區(qū)域的范圍, (0,0)表示 View Window 的起始坐標(biāo), (getWidth() ,getHeight()+10000) 使用 (g,0,y1)決定 View Window 從屏幕的哪里畫起。并使用 (column,row,map1[i])設(shè)定 TtiledLayer 的內(nèi)容,以形成地圖。 其他精靈類的對象如敵人飛機(jī)、玩家飛機(jī)、玩家飛機(jī)的子彈、敵人的子彈、 BOSS 及 BOSS 所屬的子彈都需在gameScreen()類中建立相應(yīng)的對象,并在構(gòu)造喊數(shù)中實(shí)例化,且由 ()方法添加到 LayerManager 類對象 lm中。方法 newposition()實(shí)現(xiàn)的功能為更新玩家的子彈位置,并且檢測玩家子彈與普通敵人的碰撞及記錄玩家戰(zhàn)果 (更新子彈位置的功能可以由使用 move()加設(shè)置標(biāo)志位的方法取代;由于設(shè)計這個類的時候并沒有考慮到添加 BOSS 等,所以在此檢測碰撞,但添加 BOOS 等功能后,此處的檢測完全可以和飛機(jī)對飛機(jī)等的碰撞檢測封裝在同一個方法中 )。其 中 lowColor 賦值為 0x000000FF,代表蘭色, higColor 賦值為 0x00FF0000,代表紅色 ,highBGColor 賦值為 0x00CCCCCC,代表 蘭灰色,即背景條。 首先顯示的是游戲的背景介紹(圖 41),為此,在類 lzhhdm定義 Form類對象 a,在 startApp()函數(shù)中判斷 isSplash 是否為真,如果為真的話,將創(chuàng)建 Form 類的實(shí)例 a,并且調(diào)用 append()方法在表單上放置 StringItem 類的實(shí)例以顯示游戲背景信息。 本章小結(jié) 第三章中介紹了程序的 流程、相關(guān)技術(shù)的思想及其在本程序中的應(yīng)用。然而這樣會導(dǎo)致 .class 很容易被反編譯為源代碼,從而不能保護(hù)作者的知識成果。 內(nèi)存檢測器 Wireless Tool Kit 提供了許多在運(yùn)行時監(jiān)視運(yùn)行狀態(tài)的工具。如果玩家子彈與敵機(jī)相撞,則敵機(jī)消失時,子彈精靈的圖片替換為爆炸圖片, 直 到第二次發(fā)射該組子彈時,才將圖片替換為子彈圖片。這樣做,即防止了大飛機(jī)變成跟蹤飛機(jī),又使得大飛機(jī)的運(yùn)行具有不確定性。 Sprite 類中提供了 collidesWith 函數(shù),用于判斷是否與某個 Sprite、 TiledLayer、 Image 的對象有圖象上的重合(即游戲 中的碰撞)。將以位的形式返回鍵盤上所有鍵的按與釋放的狀態(tài),當(dāng) bit 為 1 時,按鍵就是被按下的狀態(tài),為 0 時則為釋放狀態(tài)。 PNG 格式提供透明背景的圖象,這對繪制游戲畫面 和被操縱主角極有幫助。 LM 中的 View Window 控制著與 LM 相對坐標(biāo)的可視區(qū)域。 Sprite 也可以從整合的圖象中讀圖,讀圖時將把大圖分解為若干等寬等高的小圖。下面將簡要介紹 Game 類。 這樣的技術(shù)在繪制動畫時特別有用。應(yīng)當(dāng)將鍵代碼轉(zhuǎn)換為游戲鍵的代碼,以便硬件開發(fā)商能定義他們自己的游戲鍵布局。載入程序后首先啟動的是程序介紹的信息畫面。在主程序運(yùn)行的線程中,畫面刷新將以一定的頻率采用雙緩沖技術(shù)對屏幕重繪,實(shí)時反映整個游戲的進(jìn)行狀態(tài)。這三種狀態(tài)的轉(zhuǎn)換關(guān)系如圖 31 所示:MIDlet 有三個狀態(tài),分別是 pause、 active和 destroyed。除開發(fā)過程中對結(jié)構(gòu)上的控制、變量的使用、算法的優(yōu)化等優(yōu)化外,還可以使用混淆器 (Obfuscator)進(jìn)行程序打包后的優(yōu)化。 對于雙方發(fā)射的子彈應(yīng)該賦予不同的速度,同時,程序應(yīng)該設(shè)定敵人飛機(jī)的子彈不與敵人的飛機(jī)進(jìn)行碰撞檢測,已增加游戲的可玩性。它所使用的傳輸媒體可以是紅外線、網(wǎng)絡(luò)、以及其他可用來傳輸?shù)拿襟w。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、 COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用,或預(yù)計會推出。 Java取消了 C 語言的結(jié)構(gòu)、指針、 define 語句、多重繼承、 goto 語句、操作符、重載等不易被掌握的特性,提供垃圾收集器自動回收不用的內(nèi)存空間。 本章小結(jié) 引言和第一章中介紹了手機(jī)在無線應(yīng)用方向的當(dāng)今概況, J2ME 的相關(guān)內(nèi)容,分析了 J2ME 在手機(jī)軟件開發(fā)中起的重要作用,描述了本論文的相關(guān)背景。因此,手機(jī)設(shè)備硬件和網(wǎng)絡(luò)協(xié)議與桌面 /控制臺世界(如全球定位系統(tǒng) (GPS)擴(kuò)展、條形碼掃描儀、和短消息服務(wù) (SMS)/多媒體信息服務(wù) (MMS)通訊)有著非常大的差別。 基于訂閱: 手機(jī)游戲的盈利成功取決于他們巨大的使用量。 而 CDC 則是主要用于運(yùn)算能力相對較佳、在電力供應(yīng)上相對比較充足的嵌入式裝置 (比方說冷氣機(jī)、電冰箱、電視機(jī)機(jī)頂盒 (settop box)。 J2ME 平臺是由配置 ( Configuration) 和簡表 ( Profile) 構(gòu)成的。Java 平臺演進(jìn)到 Java2 后, Java 平臺分別針對不同領(lǐng)域的需求被分成四個版本,亦即 J2EE、 J2SE、 J2ME以及 JavaCard。本論文介紹了 J2ME的相關(guān)技術(shù)及本程序的結(jié)構(gòu)分析和具體功能的實(shí)現(xiàn)。但因?yàn)樾畔⒕W(wǎng)絡(luò)的不斷進(jìn)步,傳統(tǒng)手機(jī)已經(jīng)不能滿足人們的要求。至此, JAVA手機(jī)將是未來手機(jī)的發(fā)展方向,是業(yè)界的熱點(diǎn)。 2. Java 技術(shù)提供了一個類庫,它使的應(yīng)用開發(fā)商可以創(chuàng)建更為直覺、豐富的用戶界面 (GUI); 3. Java 技術(shù)使網(wǎng)絡(luò)帶寬的應(yīng)用更為有效,因?yàn)閼?yīng)用程序可以下載到器件上,并在本地運(yùn)行,僅僅是在連接到服務(wù)器時才會占用網(wǎng)絡(luò)帶寬。 J2ME 的一個關(guān)鍵優(yōu)點(diǎn)是, J2ME 與所有支持 Java 的設(shè)備都是兼容的。 作為第一個面對小型設(shè)備的 Java 應(yīng)用開發(fā)規(guī)范, CLDC 是由包括 Nokia, Motorola 和 Siemens 在內(nèi)的 18 家全球知名公司共同協(xié)商完成 的。手機(jī)用戶常常在任務(wù)(如等一個電子郵件或者等車)之間有一小段時間。對于一個基于訂閱的游戲,重要的是與別的玩家合作以增強(qiáng)所玩游戲的智力和隨機(jī)性。同時,中國空軍空戰(zhàn)中一共犧牲空勤人員六百六十一名。 面向?qū)ο? Java 吸收了 C++面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實(shí)現(xiàn)了程序的簡潔性和便于維護(hù)性,使程序代碼可以只需一次編譯就可反復(fù) 利用。 Eclipse 還包括插件開發(fā)環(huán)境( Plugin Development Environment, PDE),這個組件主要針對希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們 構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。它通用性高,開發(fā)出的應(yīng)用程序可保證能運(yùn)行在大部分設(shè)備上,而不像專用廠商具有一定的不兼容性。因此,其邏輯設(shè)計應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件及意外情況考慮在設(shè)計中。 游戲的地圖不可能通過繪圖來解決。 MIDlet 及相關(guān)的支持類組成了 MIDP 應(yīng)用程序的實(shí)際內(nèi)容。如果 unconditional 為 false 的時候, MIDlet 可以在接到通知后拋出MIDletStateChangeException 而保持在當(dāng)前狀態(tài),如果設(shè)置為 true 的話,則必須立即進(jìn)入 destroyed 狀態(tài)。如:玩家剩余飛機(jī)數(shù)是為 0、敵人、玩家飛機(jī)是否被擊中、屏幕上相關(guān)信息的繪制等。從程序開發(fā)的觀點(diǎn)看, Canvas 類可與高級 Screen 類交互,程序可在需要時在 Canvas 中摻入高級類的組件。 技術(shù)下的繪制背景技術(shù) 在沒有 前,進(jìn)行游戲繪圖一般需要手動編程使用雙緩沖。 新加入了 GameCanvas、 Sprite、 Layer、 LayerManager、 TiledLayer 五個與游戲開發(fā)相關(guān)的類。 Sprite 類是繼承自 Layer 的用于存儲多楨的基本可視元素。 LayerManager 存儲了一個層的列表,新的層可以用函數(shù)附加、刪除和插入。一塊整圖可被分割成等大小的圖象格,每塊格有其對應(yīng)的序號,按照行列遞增。在 Game 包中的 TiledLayer 和 Sprite 類都整合了這樣的功能。 8 玩家飛機(jī)被擊中后,為了平衡游戲的可玩性,玩家飛機(jī)將有短暫時間無敵,即不進(jìn)行碰撞檢測,同時在屏幕右上角顯示無敵時間。 在普通敵機(jī)中,有一組敵機(jī)的其中一架具有跟蹤功能,其原理為:當(dāng)其進(jìn)入屏幕后,根據(jù)玩家飛機(jī)的 X、 Y 坐標(biāo)不斷調(diào)整自己的 X、 Y 坐標(biāo),已達(dá)成跟蹤的效果。由于本游戲僅有一關(guān),所以子彈速度設(shè)定的差別沒有體現(xiàn)出來。 (4)盡量不使用靜態(tài)變量。在程序運(yùn)行中也可以調(diào)用 System 類的gc()函數(shù)手動收回廢棄的內(nèi)存。 混淆器的作用不僅僅是保護(hù)代碼,它也有精簡編譯后程序大小的作用。該類中擁有可以管理程序的創(chuàng)建、開始、暫停(手機(jī)中很可能有正在運(yùn)行程序卻突然來電的情況,這時應(yīng)進(jìn)入暫停狀態(tài)。當(dāng)玩家點(diǎn)擊 ok 后將調(diào)用 (menuscreen) 以顯示游戲菜單 menuscreen(圖 42)。 11 Mybullets 類繼承 自 Sprite 類,以實(shí)現(xiàn)玩家子彈的相關(guān)功能。其主邏輯如圖 44 所示。先利用 TiledLayer 的構(gòu)造函數(shù)建立 TiledLayer,根據(jù)構(gòu)造函數(shù)的參數(shù)可以給定 Cell 數(shù)組 的大小,并且地圖圖片切割成等尺寸的畫面,并調(diào)用 setCell()設(shè)置具體的圖象格內(nèi)容。 畫出地圖后,由 ()將地圖添加到 LayerManager 類對象 lm 中。所以在 gameScreen類的構(gòu)造函數(shù)分配這 6 個 Sprite 類的存儲空間,并且使用 new Sprite(Image img, int width, int height)實(shí)例化這 6 個類變量。 在 mandAction()方法中,使用 getabel()方法獲取命令的標(biāo)簽。完成此項(xiàng)功能的語句子為 [0] =“再來一次” 。 玩家 4 次游戲機(jī)會的實(shí)現(xiàn)方法 根據(jù)游戲設(shè)置,玩家在每關(guān)中有共四次機(jī)會,當(dāng)玩家飛機(jī)被擊中或撞擊爆炸后,程序首先檢測整型變量 playerno 的值,并根據(jù) playerno 的值決定屏幕右上角所畫玩家飛機(jī)標(biāo)志的數(shù)量 (參考圖 48), playerno 的初始值設(shè)為 3,因?yàn)榕鲎埠蟛艤p 1,所以玩家共有 4 次機(jī)會,當(dāng) playerno0 時,游戲結(jié)束,同時將變量 pver賦值為 1, render()或 renderboss()函數(shù)中, over=1 代表在屏幕上GAMEOVER 等相關(guān)信息,同時,將整型變量 inputno 賦植為 1,以使手機(jī)的方向鍵失效,以消除玩家可 以控制爆炸圖像移動這個BUG。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1