日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2D游戏地图的制作

發(fā)布時間:2025/3/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2D游戏地图的制作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2D游戲地圖的制作

概述:

? ? 地圖制作在游戲中的作用非常之大,一個好的地圖編輯器決定著一款游戲的好壞。目前世面上大部分的電腦游戲的地圖都是如下格式,每個坐標(biāo)代表人物在游戲中的坐標(biāo)。

?


??? 然而,在地圖編輯器中,地圖也是由很多很多的小圖素拼接而成的。由于一張大的地圖會出現(xiàn)很多重復(fù)的圖素,那么我們就將這些圖素提出來,稱為基本圖素。基本圖素的好處是,可以重復(fù)使用。這樣我們就可以用比較少的圖片種類反復(fù)拼接成一張大圖。這樣做的好處是1,減少圖片數(shù)量和磁盤容量;2,減少顯卡和內(nèi)存的負(fù)擔(dān);3加快游戲速度;4,更合理的利用資源。當(dāng)然這么做的缺點(diǎn)也是有的1,反復(fù)利用同樣的圖素,畫面將不好看;2,需要專業(yè)人員的大量拼接。

切割工具

??? 按照上面所說的,一張完美的地圖的制作需要用到1,切割工具;2,拼圖工具;3編輯器;4轉(zhuǎn)換工具(3種工具之間格式的轉(zhuǎn)換)。

??? 首先我們要從原畫手里拿到我們需要的原圖,再使用切割工具進(jìn)行我們需要的切割,原圖的要求是必須是64*64,128*128,256*256的倍數(shù),我們可以

?

??? 在圖片規(guī)格那里可以選擇我們要切的格式,然后加載所需要切割的圖片,輸出的ANI那里填好游戲目錄里的路徑。TITLE編號是由于會有很多文件的ani要寫在一個ani里,所以為防止重復(fù)寫入,則打開需要寫入的ani文件,查看最后的編號,用此編號加1作為title開始編號。如果是第一次切割則為0。圖片的文件名,需要填寫完整路徑,此路徑為游戲中的路徑,遮罩文件的文件夾名稱一般為Mapobj這個文件夾里放置著植物、場景地形等其它靜態(tài)物件。動態(tài)遮罩文件的文件夾名稱為Cartoon一般來說,由多楨的靜態(tài)圖片連續(xù)播放,形成動態(tài)的圖片都放在這里;地圖基本圖素放置的文件夾名稱為puzzle。這些文件夾一般放在主目錄的DATA\map目錄下,文件夾里的子文件夾的名稱按照分類命名。Pullze文件名是切割后的圖片索引文件的目錄,我們可以使用中文,這樣在后面的拼圖中會很方便。圖片編號和位數(shù) 是在文件夾里圖片自動命名的數(shù)字規(guī)格。

??? 使用注意事項(xiàng):在使用中1,確定每次切割的圖片規(guī)格都是一樣的;2,在切割之前千萬要再看一遍ANI里所寫的編號是否正確;3新生成的ani還需經(jīng)過DaiBuilder.exe進(jìn)行格式轉(zhuǎn)換,這樣可以提高地圖編輯器在啟動的過程中對ani的索引速度,實(shí)際上,有時候在地圖編輯器中打開沒有轉(zhuǎn)換的ani也會出錯!4,文件夾和圖片的命名一定要一目了然,擺放規(guī)則。5文件若不是BMP或者tga文件則要轉(zhuǎn)換為此二者格式。


拼圖工具(puzzle.exe)

??? 首先我們要把剛才所切割出來的PUZZLE文件按照我們的需要拼成模塊,再用這些模塊和原圖素拼接成一張大的地圖。

??? 在拼接這些模塊時1,需要打開兩個puzzle.exe,一個為“選擇—拾取”模式,另一個則為“編輯—填充”模式。快捷鍵Alt+Tab,可以在兩者之間快速切換提高工作效率。2,我們按照示意圖根據(jù)大小需要在“編輯—填充”模式的puzzle.exe中新建一張拼圖文件,設(shè)定好高度和寬度,從選擇—拾取”模式的puzzle.exe中拾取圖素,填充到編輯—填充”模式的puzzle.exe中。然后命名保存。3,保存的一類文件最好也用文件夾區(qū)分開來。

??? 拼接大圖的時候,首先要注意1,你要拼多大的地圖,在所有的示意圖中其標(biāo)名的計算單位都是以屏來計算的,而我們在編輯地圖的過程中必須把它計算為格子數(shù),這樣才能確定新建立的地圖高和寬,在制作新的地圖的之前,我們必須先計算出地圖大小,以便在使用puzzle.exe拼圖工具的時候新建地圖使用。例如我這次做的圖為200屏,考慮到填加整圖,所以設(shè)定為15*20屏,這樣高度格子數(shù):15*800/128=94寬度格子數(shù):20*600/128=94。2,拼圖時參考示意圖,但盡量考慮多一些,一些地形地貌的變化要合理。變化圖素的連接要曲折圓滑,切忌方方正正。3,盡量不要在同一屏內(nèi)反復(fù)使用一種圖素,這樣會造成非常難看的地貌出現(xiàn)。4,拼接時,注意不要產(chǎn)生豎線一類的東西,那是圖素之間沒有連接好的緣故。

地圖編輯器(Architect.exe)

??? 最后我們就要接觸到地圖編輯器了,在使用地圖編輯器之前,我們要做好一些準(zhǔn)備第一步,你的ANI寫好了沒?這個問題問得很怪,其實(shí)非常重要。你的底圖ani文件是不會錯的了,但你的遮罩ANI呢?在做遮罩ANI之前,你首先要注意,a所有的遮罩大小不能超過512*512,所以超過512*512的圖都需要切割,b還有遮罩的畫布大小必須是2的冥次方,如果不是,那么就要到PHOTOSHOP中修改并保存,c所有的遮罩文件一律要改成英文和數(shù)字的混合名稱,并且最好不重復(fù);d遮罩文件的目錄在\data\mapobj\下分類放置;e記住你的文件名是否當(dāng)中有空格一類的錯誤;f將CoverAniMaker.exe文件拷貝到\data\mapobj\內(nèi),雙擊打開后,依次輸入mapscene.ani,0。則開始自動生成ani和ini文件,將mapscene.ani拷貝到ANI文件夾后,需要將ANI用DaiBuilder.exe轉(zhuǎn)換一下。G,將生成的INI里的按照序列號位置粘貼到map.ini中。最后記得把map.ini中CoverAmount處加上新增加遮罩物件的個數(shù)。h多禎動態(tài)遮罩物件ini的編寫,需要手寫,具體寫法請參照地圖編輯器-入門。I,全部寫好后先不急著開始做,隨便建個地圖看看是否所有的遮罩都能顯示,如果不行就得檢查原因,常見的錯誤有1,文件名重復(fù)2,文件名中間有空格3,ANI文件沒有轉(zhuǎn)換4,路徑錯誤或無圖片5,map.ini中CoverAmount未重設(shè)遮罩物件的個數(shù)。

??? 第二步,接下來我們新建一個地圖文件了,打開新建地圖,選擇我們剛才做好的整圖,他的后綴為.puzzle。以后存儲的時候用存儲為tmap文件,這樣可以進(jìn)行編輯,還有點(diǎn)要注意的是,新建地圖所用的PUZZLE文件不要用中文名,否則編輯TMAP文件后會不識底圖的。

??? 第三步打掩碼。在給地圖添加掩碼的時候先點(diǎn)初始化掩碼,再把地圖的四周打上掩碼,規(guī)則是:上3行,下兩行,左右各一行,這里所指的行都是按照完整的掩碼格子計算。小范圍的填加掩碼只要按住CTRL鍵拖動鼠標(biāo)即可,大范圍的添加掩碼則可以用右鍵拖動。清除掩碼也是如此。在機(jī)戰(zhàn)地圖中,掩碼要多打一些,原因是機(jī)戰(zhàn)中的人物和怪物都是機(jī)器人,體形龐大,掩碼打的少則會卡在地圖中,還有的是會造成穿邦現(xiàn)象。

??? 第四步打遮罩。遮罩在地圖中的作用不可小看,所以在打遮罩的時候要注意一些建筑的遮罩要反復(fù)設(shè)定重心的坐標(biāo),直到和底圖重合的時候不會模糊才可以,當(dāng)你選好坐標(biāo)加上遮罩的時候,記得在遮罩描邊上用鼠標(biāo)掃一下,如果畫面無晃動則表示坐標(biāo)準(zhǔn)確,反之則還可以再繼續(xù)調(diào)整。一些樹的遮罩要記得注意附近的地形,沙漠地區(qū)和沙灘附近的植物是不同的。

??? 第五步打地形。地形有個技巧,先根據(jù)本圖的特點(diǎn)和地形把一些比較少的地形特點(diǎn)先打上,然后再修改TMAP里的文件,修改成相應(yīng)的地形碼即可,然后再反復(fù)的修改直到滿意。在打地形的時候有時候會遇到編輯器里還沒有的地形,則需要在Terrian.ini里填加,格式按照其他已有的地形格式,加好后千萬別忘記在最上面的[文件頭信息]地形數(shù)量寫對啊。

??? 第六步高度設(shè)置。在游戲中有些人可以走到,但明顯有高低變化的地方需要打上高度,這樣在人行走的時候會后仰,前傾,體現(xiàn)地圖的真實(shí)性,而在一些人不可能達(dá)到的地方,列如河對岸和高山,懸崖則需要打上比較高的高,具體高度看游戲設(shè)定,因?yàn)樵谟械挠螒蛑惺强梢蕴摹?/p>

??? 第七步檢查修改。當(dāng)你把上面的步驟都完成的時候,一張完整的地圖就做完了,但是我們還需要再仔細(xì)的檢查修改一下。我們放大地圖看一下,是否有遺漏,在底圖上是否還有豎線一類的條紋。是否部分地方圖素是一樣的,是否部分片區(qū)掩碼遮罩等沒打,遮罩是否合理。然后我們在縮小再檢查,看是否有掩碼漏打的地方,遮罩布局是否合理,整個地圖的感覺如何。做細(xì)微的調(diào)整。

??? 第八步整填加切屏點(diǎn),保存地圖為TMAP和DMAP格式,完成。


名詞解釋:

1,ANI文件

??? 它是一種記錄序列的文件,這樣的文件將有表頭一段語句表達(dá)記錄類型和數(shù)量,正文是編號和該編號代表的路徑。被一個場景的所有圖素拼接序列,人物的動作序列都可以用來表示,加載地圖或者加載一段人物的動作的時候,只需要讀取相應(yīng)ANI即可。

2,INI文件

??? 配置文件,往往記錄的是一些最基礎(chǔ)的配置,列如一個怪物的配置文件中會記錄該怪物的頭像,聲音,模型,貼圖,移動速度等(有些即時制游戲或3D游戲會記錄在數(shù)據(jù)庫中)。也用于軟件的配置文件。

3,PUZZL

??? 這是圖素拼接的工具,列如美術(shù)出10個格子,將這10個格子畫在一個圖中,每個格子有64*64大小,那么我們按照64*64大小分割會得到10個64*64的小圖片。這些小圖片存在客戶端中,每個都有編號,然后,我們利用這10個格子來拼地圖。地圖是有坐標(biāo)的,那么則可以記錄坐標(biāo)對應(yīng)的小圖片(圖素),這樣。一張地圖出來的時候,有多少個坐標(biāo)就對應(yīng)了多少小圖片,客戶端就可以按照這個把圖片顯示出來。

4,屏

??? 這個是2D游戲中表示大小的單位。一屏有800*600象素大小。

5,mapobj

??? 物件和遮罩的文件夾。

6,TMAP和DMAP

??? 每個公司都不一樣的稱呼,其實(shí)就是編輯器認(rèn)識的文件和客戶端認(rèn)識的文件。記錄了這個場景所擁有的坐標(biāo),坐標(biāo)對應(yīng)的ANI(圖素路徑);坐標(biāo)對應(yīng)的遮罩,掩碼等。

7,坐標(biāo)系。

??? 坐標(biāo)系有很多,美術(shù)坐標(biāo)是按照象素劃分,每個象素是一個坐標(biāo)。程序坐標(biāo)是按照世界大小劃分,每個場景都有一個唯一坐標(biāo)。地圖編輯器還會用到圖素坐標(biāo),即時按照圖素劃分的坐標(biāo),例如基礎(chǔ)圖素大小為64*64,那么就是說64*64象素就是一個坐標(biāo),用這個坐標(biāo)來對應(yīng)圖片。

??? 策劃也用到一個坐標(biāo)是一步就是一個坐標(biāo),或者說圖中的那個小格子,每個小格子都有自己的屬性,高低,掩碼,水陸屬性等。

?

轉(zhuǎn)載于:https://www.cnblogs.com/tinytiny/archive/2012/04/10/2440344.html

總結(jié)

以上是生活随笔為你收集整理的2D游戏地图的制作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。