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

正文內(nèi)容

基于android平臺(tái)祖瑪游戲的設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2024-11-16 15:38本頁面
  

【正文】 謝謝! 在此,我表示衷心的感謝和崇高的敬意 。 衷心感謝百忙之中仍抽出寶貴時(shí)間評閱我論文的專家學(xué)者,感謝你們辛勤的審閱論文。 我的設(shè)計(jì)大部分時(shí)間都是在寢室進(jìn)行的,由此,我必須要感謝寢室同學(xué)們無私的幫助。 致 謝 感謝青島理工大學(xué)琴島學(xué)院對我?guī)啄甑呐囵B(yǎng)! 衷心感謝我的導(dǎo)師 王世廣 老師,王老師從我的研究方向、游戲軟件的實(shí)現(xiàn)及軟件的完善過程中都給予了我細(xì)致全面的指導(dǎo),對論文結(jié)構(gòu)及內(nèi)容都提出了很多寶貴的建議。雖然我的論文作品不是很成熟,還有 很多不足之處,但每一次解決困難的過程中,我積累了經(jīng)驗(yàn),學(xué)會(huì)了遇到困難不放棄和求真務(wù)實(shí)的學(xué)習(xí)態(tài)度。完成此 次游戲 開發(fā)項(xiàng)目 ,我學(xué)會(huì)了靈活運(yùn)用基礎(chǔ)理論知識(shí),結(jié)合實(shí)際情況解決問題。 由于對 Android 開發(fā)的不熟悉,我碰到了很多問題,走不了少的彎路,面對這些問題我也只能硬著頭皮認(rèn)真排查和上網(wǎng)求助,最終解決了問題。在本次畢業(yè)設(shè)計(jì)之前我對 Android的了解幾乎為零,對圖片處理也很不熟悉,使得我在畢業(yè)設(shè)計(jì)在開始階段十分的困難。憑著探索新知識(shí)的熱情,我選擇了該題目。成功的游戲融合了三維運(yùn)算、音效處理等計(jì)算機(jī)多媒體的精華部分。相比一些數(shù)據(jù)庫軟件,游戲的設(shè)計(jì)有很多人情色彩和藝術(shù)思想的發(fā)揮,正式商業(yè)的軟件的人性化界面和各個(gè)游戲間迥異的結(jié)構(gòu)都會(huì)讓人有去開發(fā)的沖動(dòng)。大學(xué)期間做 過的課程設(shè)計(jì),思想大致相似,變化范圍有限,沒有太多自己可發(fā)揮的余地。在數(shù)各種應(yīng)用軟件和游戲中,我仍覺得對游戲的設(shè)計(jì)有極大的熱情。雖然大學(xué)期間在 . 下設(shè)計(jì)過一個(gè)類似 的聊天系統(tǒng),也曾用 jsp 技術(shù)設(shè)計(jì)過簡單的旅游網(wǎng)站系統(tǒng),但是游戲系統(tǒng)是我未曾接觸過的,通過祖瑪游戲畢業(yè)設(shè)計(jì),讓我收獲頗豐,游戲經(jīng)過反復(fù)的調(diào) 試修改也達(dá)到了一定的精確性。 3. 玩家得分超過最高分?jǐn)?shù) 99 分,會(huì)出現(xiàn)游戲退出得到解決。 已經(jīng)解決的重要 Bug: 1. 部分情況下,珠子出現(xiàn)越界問題得到修正。 3. 手機(jī)運(yùn)行程序過多時(shí),新產(chǎn)生珠子的貼圖會(huì)出現(xiàn)丟失問題。 目前發(fā)現(xiàn)的 bug 和未完善的功能列表如下: ,在運(yùn)動(dòng)的珠子即將碰到前段靜止的珠子的時(shí)候,再進(jìn)行小球的插入,這會(huì)碰撞不到碰撞,只能等到下一次運(yùn)行到這個(gè)位置才可以檢測碰撞,檢測不到碰撞模型會(huì)發(fā)生重疊問題,影響玩家的體驗(yàn)。即使是作為操作系統(tǒng)的各種版本的 Windows 也時(shí)常會(huì)發(fā)生許多類型的錯(cuò)誤和漏洞。經(jīng)過了細(xì)心的調(diào)試和排錯(cuò)解決了絕大部分的問題。包括游戲策劃以及類框架的構(gòu)成,研究了界面、Y 開始 擊中珠子 點(diǎn)擊屏幕 N 插入到擊中珠子位置后 同色珠個(gè)數(shù) 3 N Y 同色珠子消去 剩余珠 =0 N Y 結(jié)束 游戲邏輯控制的實(shí) 現(xiàn)方法,并對設(shè)計(jì)過程中遇到的關(guān)鍵問題及難題做了深入探討。 ,檢測是否珠子是否全部消失,全部消失,游戲成功晉級。如果個(gè)數(shù)大于 3,玩家得分成功。當(dāng)檢測到碰撞后,被撞珠子和之前的珠子都會(huì)加速前進(jìn)直到珠子插入進(jìn)去后珠子運(yùn)動(dòng)速度恢復(fù)到加速之前的速度。得分后,玩家當(dāng)前的分值會(huì)得到相應(yīng)的增加,同時(shí)檢測是否所有彩珠都消去,若都消去,則認(rèn)為玩家通過此關(guān),檢測玩家得分是否超過最高記錄,如果超過則更新當(dāng)前關(guān)卡的最高得分記錄。 模型碰撞檢測算法流程圖 56 所示 圖 56 碰撞檢測 原理示意圖 玩家射擊的目標(biāo)彩珠插入到運(yùn)動(dòng)中的彩珠中后會(huì)檢測同色的彩珠的個(gè)數(shù),如果大于 3個(gè),玩家成功得分,得分規(guī)則為 1 至同色彩珠個(gè)數(shù)的和。 (3)、比較兩珠子的距離 L 與珠子半徑 R 的大小關(guān)系。通過三維空間的歐 式距離公式: L=sqrt((x1x2)^2+(y1y2)^2+(z1z2)^2)。 (2)、檢測兩珠子的距離。 碰撞檢測原理示意圖圖如 56 所示 圖 55 碰撞檢測 原理示意圖 具體實(shí)現(xiàn)步驟: (1)、獲取珠子模型半徑值。 模型碰撞檢測實(shí)現(xiàn) 思路 :游戲中檢測碰撞有多種方式:像素檢測方式、距離檢方式等。 if (x = 2 * ) { x = 0。 float z = x * () / 。 private void shootBall() { x += shooterStep。 return loadedGeometry。 loadedGeometry = (filepath)。 protected IUnifeyeMobileGeometry loadGeometry(String modelFileName) throws FileNotFoundException { IUnifeyeMobileGeometry loadedGeometry = null。 圖 55 射擊原理示意圖 珠子軌道運(yùn)動(dòng)實(shí)現(xiàn)思路:首先需要確定珠子的運(yùn)動(dòng)軌跡,運(yùn)動(dòng)軌跡的主要思路是通過空間中的兩點(diǎn)確定一段珠子運(yùn)動(dòng)軌跡,通過空間中的對個(gè)點(diǎn)我們可以得到一段封閉的軌跡,為了實(shí)現(xiàn)更簡單,珠子的運(yùn)動(dòng)軌跡為一個(gè)規(guī)則的四邊形,通過四個(gè)拐點(diǎn)就可以確定球的運(yùn)行軌跡。 射擊運(yùn)動(dòng)實(shí)現(xiàn)思路:玩家點(diǎn)擊目標(biāo)珠子后獲取其位置坐標(biāo)值 (x1,y1,z1),射擊珠子的初始位置坐標(biāo)為 (x2,y2,z2),在重繪函數(shù)使其 X 坐標(biāo)值不斷的減少接近目標(biāo)珠子的 X 坐標(biāo)值,在接近的某一瞬 間獲取 X 坐標(biāo)值為 x,通過等比三角形我們可以獲知 Y 軸方向的值為:y=(x/(|x1x2|))(|y1y2|),同理可以獲知此時(shí) Z 方向坐標(biāo)值: z=(x/(|x1x2|))(|z1z2|)。 游戲中珠子的運(yùn)動(dòng)方式有兩種:第一種珠子射擊運(yùn)動(dòng),珠子在軌道中運(yùn)動(dòng),運(yùn)動(dòng)都 需要在onDrawFrame()中設(shè)置坐標(biāo)值使其值發(fā)生連續(xù)改變,產(chǎn)生運(yùn)行效果。 ()。 if((topScore)){ editor = ()。 private void savesharedpreferences() { SharedPreferences levelSP = getSharedPreferences(level,0)。 存儲(chǔ)數(shù)據(jù)首先要在 Context 中創(chuàng)建 SharePreference 并獲得 edit 對象,之后用putString(key,keyvalue)方法將數(shù)據(jù)預(yù)保存,在 mit()方法之后才實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。 用 SharePreference 對象存儲(chǔ)和獲取數(shù)據(jù)都非常方便快捷。 游戲的關(guān)卡的最高得分記錄由 SharePreference 負(fù)責(zé)保存。利用 java 的數(shù)學(xué)工具函數(shù) Math,可以產(chǎn)生一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)可以控制其值的大小,這個(gè)可以控制在珠子顏色種類范圍內(nèi),這樣利用 這個(gè)隨機(jī)數(shù)就可以獲取一定顏色范圍內(nèi)的珠子,也就是當(dāng)前珠子序列中的某一種顏色的珠子。 具體實(shí)現(xiàn)步驟: (1)、讀取當(dāng)前關(guān)卡數(shù)以及當(dāng)前剩余珠子的個(gè)數(shù)并進(jìn)行比對,如果滿足當(dāng)前剩余珠子數(shù)目小于總關(guān)卡數(shù)與當(dāng)前關(guān)卡數(shù)的差的條件即: size()=(),通過游戲邏輯就可以控制下一顆產(chǎn)生的珠子的顏色。依據(jù)關(guān)卡等級的高低設(shè)置不同的難度供玩家挑戰(zhàn)。需要檢測玩家是否按了 HOME 鍵判斷游戲是否退出,由于 android 系統(tǒng)不提供 home 鍵回調(diào),所以需要時(shí)用其他手段獲知玩家按 home 鍵退出了游戲,要實(shí)現(xiàn)這個(gè)功能需要監(jiān)測用戶是否按下了 Back 鍵,在 Back 回調(diào)函數(shù)中設(shè)置標(biāo)記我們可以獲知當(dāng)前 activity調(diào)用 onStop 方法不是退出程序,否者認(rèn)為玩家通過 home 鍵退出了程序,其他非 Back 鍵調(diào)用 onStop 的方式都判別為游戲退出,背景音樂關(guān)閉,資源釋放。音效和背景音樂默認(rèn)為打開狀態(tài),玩家可以根據(jù)需要自行設(shè)置。 SoundPool 主要負(fù)責(zé)播放短促的音效, SoundPool 對播放音效響應(yīng)速度快,但播放的文件不能大于 1M,音效的聲音文件也不會(huì)大,為了更適好的播放音效,將音效格式轉(zhuǎn)換為了 ogg 格式,由于音效比較多, SoundPlayer 類中的 soundMap 屬性,通過 key, value 的方式更好的操作音效文件。 drawablehdpi里面存放高分辨率的圖片 ,如 WVGA (480x800),FWVGA (480x854) drawablemdpi里面存放中等分辨率的圖片 ,如 HVGA (320x480) drawableldpi里面存放低分辨率的圖片 ,如 QVGA (240x320) 系統(tǒng)會(huì)根據(jù)機(jī)器的分辨率來分別到這幾個(gè)文件夾里面去找對應(yīng)的圖片。使用 activity標(biāo)簽,嵌套在 application標(biāo)簽內(nèi)部。 創(chuàng)建一個(gè) Intent,指定由當(dāng)前 MainActivity 跳轉(zhuǎn)到 LevelActivity,把創(chuàng)建好的 Intent 作為參數(shù)傳遞給 startActivity()方法。例如游戲主界面跳轉(zhuǎn)到開始游戲界面 設(shè)置 intent: intent. setClass (MainActivity. this,)。闡述了游戲中對數(shù)據(jù)和控制的實(shí)現(xiàn)方式與步驟。 游戲運(yùn)行界面相關(guān)類 類圖 如 54 所示。 GAME:記錄游戲狀態(tài)等參數(shù)的信息的類。 MyBall:對珠子概念抽象出的類,主要包括珠子的色彩種類,移動(dòng)速度等屬性,通過修改這些屬性可以控制其在游戲界面中。 圖 53 ZumaActivity 類圖 運(yùn)行界面相關(guān)類是游戲運(yùn)行時(shí),使用到的核心類,主要負(fù)責(zé)驅(qū)動(dòng)游戲珠子運(yùn)行,檢測珠子模型的碰撞,監(jiān)測玩家點(diǎn)擊模型事件,獲取點(diǎn)擊事件后,負(fù)責(zé)動(dòng)態(tài)產(chǎn)生珠子,產(chǎn)生珠子的方式包括兩種一種是:一種為在所有顏色中的珠子中隨機(jī)產(chǎn)生,另外一種方式為:在制定的顏色種類范圍內(nèi)隨機(jī)產(chǎn)生;游戲中運(yùn)行的珠子模型序列需要?jiǎng)討B(tài)的控制整體的運(yùn)動(dòng)行為,可以動(dòng)態(tài)的添加或者減 少珠子模型。 ZumaActivity:游戲界面,需要響應(yīng)玩家點(diǎn)擊屏幕事件,并檢測玩家是否點(diǎn)擊到珠子模型,同樣還要檢測玩家的按鍵事件,檢測到返回鍵,需要彈出對話框,以供玩家選擇, 是否退出游戲,防止玩家誤操作退出游戲,玩家按到 HOME 鍵這個(gè),需要停止游戲 的背景音樂,這個(gè)還主要包含對游戲邏輯的控制,以及游戲 UI 的實(shí)時(shí)更新。 MainActivity:游戲主界面玩家進(jìn)入的首個(gè)界面,這里主要功能包括游戲聲音、音效控制實(shí)現(xiàn)以及分享功能的實(shí)現(xiàn)。 公共類 類圖 如 52 所示。 AssetController:游戲數(shù)據(jù)讀取類對 Assets 文件夾內(nèi)的資源進(jìn)行管理,數(shù)據(jù)資源包含游 戲的背景音樂、音效、 3D 模型貼圖等。 圖 51 游戲的類框架 公共類主要提供基礎(chǔ)的服務(wù):獲取資源,包括聲音資源,圖片資源, 3D 模型文件的讀??;以及聲音播放以及控制服務(wù),對 metaio SDK 封裝后對外 提供基礎(chǔ)調(diào)用。 該游戲開發(fā)的類比較多,為了更好的理解各個(gè)類在游戲中所扮演的角色,將框架分類并對各個(gè)類的功能進(jìn)行簡要介紹。 第五章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 本章詳細(xì)描述該游戲的設(shè)計(jì)與實(shí)現(xiàn)過程。游戲開始后,玩家可以按返回鍵是游戲進(jìn)入暫停狀態(tài),再次按返回鍵則繼續(xù)當(dāng)前游戲。玩家旋轉(zhuǎn)手機(jī)看到 3D 彩珠后,點(diǎn)擊屏幕內(nèi)的珠子,監(jiān)聽器通過獲取點(diǎn)擊的位置坐標(biāo)來完成檢測是否擊中珠子模型,如果擊中會(huì)產(chǎn)生一個(gè)珠子射向目標(biāo)珠子,并插入目標(biāo)球之后的位置;插入新珠子后會(huì)檢查是否得分,大于三個(gè)同色珠子即可成功得分,同色珠子消去,界面更新當(dāng)前分?jǐn)?shù)。 游戲在進(jìn)行到不同的狀態(tài),會(huì)切換到對應(yīng)的界面,其中有 :游戲進(jìn)行界面、游戲暫停界面、和通關(guān) 界面。 游戲界面 游戲主界面 關(guān)卡選擇界面 游戲進(jìn)行界面 本游戲的難度根據(jù)不同關(guān)卡也略有不同,共設(shè)置 9 個(gè)關(guān)卡,難度依次增加,每個(gè)關(guān)卡都記錄當(dāng)前關(guān)卡的最高分,關(guān)卡信息使用 ListView 控件展現(xiàn),界面簡潔操作方便。 在 主 界 面 的 配 置 文 件 中 設(shè) 置 背 景 圖 片 的 路 徑android:background=drawable/bg,其中 bg 為圖片的名稱。為此祖瑪游戲界面設(shè)計(jì)風(fēng)格定位為:簡潔、實(shí)用,獨(dú)具風(fēng)格。游戲界面設(shè)計(jì)的合理與否直接影響到玩家的體驗(yàn)度。 界面整體結(jié)構(gòu) 一個(gè)別出心裁的游戲界面設(shè)計(jì),將會(huì)提升游戲的品質(zhì),賦予游戲獨(dú)特的氣質(zhì),同時(shí)游戲界面也是一個(gè)發(fā)揮情感化設(shè)計(jì),提升玩家體驗(yàn),拉近與玩家之間距離,界面設(shè)計(jì)也要考慮游戲的風(fēng)格和游戲內(nèi)容很好的融合在一起,讓玩家體驗(yàn)享受。 第四章 界面設(shè)計(jì) 本游戲 的一項(xiàng)難點(diǎn)在界面設(shè)計(jì),好的游戲界面既能使畫面美觀也能提高對玩家的吸引力。如何選取一個(gè)更簡單方便的檢測模型碰撞,將是解決這個(gè)問題的關(guān)鍵。 (5)、碰撞檢測問題:彈幕射擊類游戲中,游戲中的珠子模型在時(shí)刻不停的運(yùn)動(dòng)中,游戲系統(tǒng)在每個(gè)周期都需要對 N
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1