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

正文內(nèi)容

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

2025-06-24 15:34本頁面
  

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