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

正文內(nèi)容

基于gml的2d游戲設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-08-19 19:20本頁(yè)面

【導(dǎo)讀】摘要:電子游戲自20世紀(jì)60年代誕生以來(lái),到如今已經(jīng)成為一個(gè)熱門產(chǎn)業(yè)。種電子游戲的制作引擎也是層出不窮。GameMakerStudio是如今較為流行的游戲。語(yǔ)句,往往濃縮為一個(gè)簡(jiǎn)短靈活的函數(shù),使設(shè)計(jì)游戲更為靈活。項(xiàng)目中解決了地形信息描述、邏輯操作、劇情演出、AI設(shè)計(jì)、和優(yōu)質(zhì)的游戲體驗(yàn)。

  

【正文】 ayer][st 0][fp 0][por 1][arr 1] [s 蕾奧妮 :這、這是在什么地方? ] [p][e]) 在 第二幀中: = 2*。 = 2/。 A*尋路算法 以及 敵人 AI 的 實(shí)現(xiàn) 所謂 尋路算法,就是 把游 戲中的某個(gè)角色放在一個(gè)環(huán)境中,并給定一個(gè)目標(biāo)點(diǎn)和一些障礙物。而計(jì)算出 最近的一條路線,也就是 尋路 算法。 前文 提到的柵格系統(tǒng),也剛好可以在 尋路 算法中使用。通過(guò)查閱資料,目前18 最主流的尋路算法即 A*尋路 算法。它 引入了 Node節(jié)點(diǎn)和 Cost代價(jià)兩個(gè)概念 [10]。 該 算法就是把角色、障礙物、目標(biāo)都放在柵格中, 把 每一個(gè)柵格當(dāng)做節(jié)點(diǎn),通過(guò) 鏈接節(jié)點(diǎn)獲得路線, 最終 選擇 代價(jià)做小的路線,從而 獲得最優(yōu)的路線。 在游戲 過(guò)程中,經(jīng)常會(huì)出現(xiàn)會(huì)攻擊玩家的敵人。敵人的行動(dòng)策 略都是由編寫好的 AI決定的。而 其中 AI很重要 的 一部分,即追擊系統(tǒng)。游戲地形復(fù)雜,敵人需要有能力判斷路線 , 繞開 各種 可能的障礙物去接近玩家。 因此 , A*尋路 算法就提供了最好的支持。 如圖 410所示 , 敵人 會(huì)自動(dòng) 找到 最近的路線。 圖 410 自動(dòng)尋路 外部資源加載 以及資源 的打包 動(dòng)態(tài)資源 加載 計(jì)算機(jī) 的 圖形 系統(tǒng)需要顯示圖形時(shí),需要 先 將圖片 加載 到內(nèi)存中,然后才能進(jìn)行繪制。 《 海克斯》的 運(yùn)行 分辨率為 1280*720, 圖像素材清晰度高且 數(shù)量 比較多 , 因此 不能一次性把所有關(guān)卡的素材全部讀入內(nèi)存 , 否則 是 對(duì)內(nèi)存的 嚴(yán)重浪費(fèi)。GML在此提供了外部資源加載函數(shù),游戲可以在運(yùn)行中從硬盤上讀取需要的圖像素材, 保存 在內(nèi)存中 , 再在需要的時(shí)候繪制。 外部 資源打包 由于項(xiàng)目 所使用的 圖像 素材均為團(tuán)隊(duì)的畫師 原創(chuàng) ,因此需要對(duì)游戲中使用的素材做打包處理 ,以保護(hù) 畫師的產(chǎn)權(quán)。 GML內(nèi)置不提供素材的打包功能,因此19 決定使用 C語(yǔ)言編寫 的 DLL實(shí)現(xiàn)打包。 首先, 需要把所有外部資源 的 文件名和 文件 大小 作為 素材列表 打印到 一個(gè) txt文檔中。再 講 這個(gè)文檔作為頭,和 其 對(duì)應(yīng)的素材文件 首尾相接 寫在一起。 就能 完成打包。 圖 411所示 的素材包文件為例 。 圖 411 打包文件結(jié)構(gòu) 文件 頭的 內(nèi)容為: 素材 1 202045 素材 2 104230 素材 3 364523 素材 4 202044 素材 5 302410 打包 完成之后, 當(dāng)需要 讀取部分文件時(shí),只需要通過(guò) 讀取 文件頭部分的 素材列表, 通過(guò) 一定計(jì)算,即可獲得需要的文件的位置。之后讀取即可。 附 DLL代碼 的函數(shù)聲明部分。 export double printlist(char* name,char* size)。 export double pack(char* name)。 export double unpack(char* name,double size,double skip)。 基于 shader 和 surface 的特效 游戲中經(jīng)常 需要一些使用簡(jiǎn)單繪圖函數(shù)無(wú)法做到的效果。 好在 GML提供了對(duì) shader的支持,因此可以 借此 做出波紋 材質(zhì) 等效果。但 shader也有其局限性,它無(wú)法規(guī)定相對(duì)復(fù)雜的繪圖區(qū)域。 如 圖 412, 僅僅 使用使用代碼 不可能 讓 shader的繪制區(qū)域剛好在紅線之內(nèi)。 20 圖 412 河流區(qū)域 為了解決 這個(gè)問(wèn)題,需要 引入了 surface概念。所謂 surface,即程序在顯存中創(chuàng)建一個(gè) “畫板 ”,再在 畫板中 作畫 。全部作畫完成后,再 將此 畫板貼在屏幕上。 同時(shí) , GML還支持 blend_mode混合模式。計(jì)算機(jī)的繪圖 系統(tǒng) ,是 使用 三 個(gè) 8位 二進(jìn)制數(shù),分別保存紅色 R、 綠色 G、藍(lán)色 B, 也就 常說(shuō)的 RGB模式。如果 適當(dāng) 的對(duì)顏色進(jìn)行位與和位或操作,就可以得到所謂的透明通道,即 alpha通道。 由此 ,可以在 Surface中事先繪制好 河流 的蒙版, 其中不需要 繪制的地方為黑色 , RGB為 (0,0,0), 需要繪制 的 地方為白色, RGB為 (255,255,255)。再使用 蒙版與 shader繪制好的 波紋材質(zhì)進(jìn)行位與 計(jì)算。這樣一來(lái)就能得到一個(gè) 形狀與蒙版一致的 河流材質(zhì) 。最后,把這個(gè) 河流 材質(zhì) 使用疊加 模式 繪制到 屏幕 上,制作 出 河流的效果。 實(shí)際效果 如圖 413。 21 圖 413 蒙版的使用 用戶體驗(yàn)的 改進(jìn) 用戶體驗(yàn) 是 任何一款軟件 制作的一個(gè)重要部分,如何才能讓玩家在 使用 過(guò)程中盡可能操作順手,流程舒心,便是 提升 用戶體驗(yàn) 所要 解決 的問(wèn)題。 《 ??怂埂?注重 劇情的發(fā)展,因此在游戲中有較長(zhǎng)的劇情演出。可是當(dāng)玩家在重復(fù)游玩時(shí),看同樣的劇情 也許 不是玩家想要的。 在此 借鑒了 一個(gè) 安卓 系統(tǒng) 常用 的 UI設(shè)計(jì),即 “再次按下 ”設(shè)計(jì) 。這個(gè)而設(shè)計(jì)的優(yōu)點(diǎn)在于操作簡(jiǎn)單快捷, 當(dāng)玩家 第一 次點(diǎn)擊跳過(guò)劇情的按鈕時(shí),屏幕彈出提示,并 啟動(dòng) 一個(gè)計(jì)時(shí)器。如果 在 計(jì)時(shí)器 計(jì)時(shí) 結(jié)束之前, 再次 按下此按鈕,劇情就會(huì)跳過(guò);如果沒(méi)有 在 計(jì)時(shí) 結(jié)束 之前再次按下 , 屏幕上的提示消失, 再次 等待 按鍵 。 這樣的 設(shè)計(jì)優(yōu)點(diǎn)在于,玩家只需要通過(guò)一個(gè)按鈕, 即可在 確認(rèn)選項(xiàng)中做出選擇,簡(jiǎn)化了操作,同時(shí)提升了用戶體驗(yàn)。 實(shí)際效果 如圖 414。 22 圖 414 仿安卓的 UI設(shè)計(jì) 23 6 系統(tǒng) 環(huán)境配置與 調(diào)試 GML 的 運(yùn)行環(huán)境是基于 DirectX 和 . 或 以上版本。在與 體驗(yàn)用戶的測(cè)試中,正確安裝以上環(huán)境 的 計(jì)算機(jī),可以在 WinXP、 Win7 以及Win8 上 正常進(jìn)行游戲體驗(yàn)。 GML 所使用 的編碼是非 Unicode 字符集,導(dǎo)致其對(duì)中文等寬字符路徑識(shí)別存在 bug。 因此 游戲的安裝目錄 中 不能有中文或其他寬字符 文字 。 本 項(xiàng)目的制作斷斷續(xù)續(xù)耗費(fèi)了一年的時(shí)間。在 開發(fā) 過(guò)程中,我的編碼思路和風(fēng)格都有了很大的進(jìn)步。由一開始只知道 悶頭實(shí)現(xiàn) 功能,到后來(lái) 學(xué)會(huì) 將功能模塊化模板化, 從而 極大的提高了 開發(fā) 效率。 開發(fā) 期間 , 我 學(xué)習(xí) 了 C++、 C等語(yǔ)言 , 并用他們做了不少項(xiàng)目。 GML嚴(yán)格來(lái)說(shuō) 屬于面向過(guò)程的編程語(yǔ)言,在系統(tǒng)開發(fā)中有很多思路上的限制與誤區(qū)。對(duì)于我個(gè)人 的學(xué)習(xí) 發(fā)展來(lái)說(shuō) 可以 算是彎路。不過(guò)也因此讓我更加深刻的理解了面向?qū)ο蟮?編程語(yǔ)言 的優(yōu)勢(shì)所在。 最后希望 本項(xiàng)目能夠在 游戲界 得到認(rèn)可。 也希望 電子游戲的民族產(chǎn)業(yè)能早日崛起,在世界 打出 一片天地! 24 參考文獻(xiàn): [1] Brian W. Kernighan and Dennis M. Ritchie ,The C Programming Language, PrenticeHall, 1988 [2] Frank , Introduction to 3D Game Programming with DirectX , 清華大學(xué) 出版社 , [3] 譚浩強(qiáng)編 , C 語(yǔ)言程序設(shè)計(jì)題解與上機(jī)指導(dǎo) , 清華大學(xué)出版社 , 2020 年 11 月 [4] GameMaker:Studio User Manual,YoYo Games Ltd.,2020 [5] Jeffrey Richter,WINDOWS 核心編程 第四版 , 機(jī)械工業(yè)出版社 , [6] 傅清祥 王曉東 編著 , 算法與數(shù)據(jù)結(jié)構(gòu) , 電子工業(yè)出版社 , [7] Paul Martz, OpenGL 精髓 , 人民郵電出版社 , [8] Stephen Prata, C++ Primer Plus, 人民郵電出版社 , [9] (美)弗里曼( Freeman, E.)等著 , Head First 設(shè)計(jì)模式 , 中國(guó)電力出版社 , [10] 張世和 編著 ,數(shù)據(jù)結(jié)構(gòu) , 清華大學(xué)出版社 , [11] Thomas 、 Charles 等 , 算法導(dǎo)論 , 機(jī)械工業(yè)出版社 , 25 致謝 在此我要首先感謝宋潔 老師的精心輔導(dǎo),她認(rèn)真負(fù)責(zé)的態(tài)度,豐富的 專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)對(duì)我有很大的教育和幫助作用。 向 《??怂古c紅薔薇》制作團(tuán)隊(duì) 致謝 。對(duì)于 一款 游戲來(lái)說(shuō),程序和代碼只是骨架,而音畫素材 、 文案策劃才是 其 血肉。 也向 《命令與征服》 初代 的制作團(tuán)隊(duì) Westwood致敬。 這是 幼年時(shí)打動(dòng)我的一個(gè) 團(tuán)隊(duì),其優(yōu)秀的游戲體驗(yàn)讓我有了制作游戲的夢(mèng)想 , 并堅(jiān)持至今。 43
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1