版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、RPG游戲通用開發(fā)工具游戲通用開發(fā)工具——圖形部分的處理圖形部分的處理1、圖塊庫(kù)的結(jié)構(gòu)圖塊庫(kù)由圖塊索引和圖塊內(nèi)容兩部分構(gòu)成。因?yàn)閳D塊的字節(jié)長(zhǎng)度是不固定的。圖塊索引的結(jié)構(gòu):每個(gè)索引的長(zhǎng)度為一個(gè)int(4bytes)圖塊內(nèi)容的結(jié)構(gòu):(1)8bytes的圖塊信息頭typedefstructshtblkwidth圖塊的寬度(以點(diǎn)陣來(lái)計(jì)算)shtblkhigh圖塊的高度(以點(diǎn)陣來(lái)計(jì)算)shtblkx圖塊在X方向相對(duì)于絕對(duì)位置的偏移量shtblky
2、圖塊在Y方向相對(duì)于絕對(duì)位置的偏移量BlkInfo(2)長(zhǎng)度不固定的圖塊內(nèi)容其結(jié)構(gòu)是以行為單位,進(jìn)行處理的。它的每一行的結(jié)構(gòu)1bytenbytes畫這一行需要閱讀多少字節(jié)不定長(zhǎng)度的線段內(nèi)容它的每個(gè)線段內(nèi)容的結(jié)構(gòu)1byte1bytenbytes相對(duì)于上次位置的偏移量這個(gè)線段共需要畫多少個(gè)字節(jié)這個(gè)線段的具體內(nèi)容閱讀圖塊的C語(yǔ)言算法voiddrawblk(dest)輸入?yún)?shù):dest圖塊將展開成像素格式到這個(gè)目的緩沖區(qū)內(nèi)BlkInfomInfo
3、包含了這個(gè)圖塊的圖塊信息頭Ureadnum畫這一行應(yīng)該閱讀多少字節(jié)Udrawnum每個(gè)線段所用掉的字節(jié)數(shù)Uusednum目前畫過(guò)的線段已經(jīng)用掉的字節(jié)數(shù)mx當(dāng)前的線段應(yīng)該畫在的位置(相對(duì)于本圖塊的絕對(duì)位置)intoffset因?yàn)閐est是連續(xù)的內(nèi)存,不分寬度和高度的,需要一個(gè)變量來(lái)計(jì)算畫點(diǎn)到dest的偏移量。LPSTRlpBlk指向本圖塊的開始位置的指針shty=mInfo.blkhigh1實(shí)際需要畫的行數(shù)intbufWidthdest接
4、收的寬度(是為了兼容標(biāo)準(zhǔn)位圖的標(biāo)準(zhǔn)格式)在這里可以認(rèn)為等于mInfo.blkwidthvirtual~CBlkLibApi()protected:CPalettepPalblkBufferHBLKblkHleUINTidxBufferHBDXidxHleCListidxListintblkNumberCStringpalFileNamepublic:BOOLEANExptBlk(intindexCFile把指定編號(hào)的圖塊輸出成標(biāo)準(zhǔn)位圖格
5、式BOOLEANLoadBlkLibFile(LPCTSTRlpszBlkName)裝載圖塊庫(kù)到內(nèi)存voidCloseBlkLibFile()關(guān)閉圖塊庫(kù)BOOLEANSaveBlkLibFile(LPCTSTRlpszBlkName)圖塊庫(kù)文件存盤voidSetPalFileName(LPCTSTRlpszPalName)設(shè)置圖塊所用到的調(diào)色板文件CPaletteGetBlkPal()取得當(dāng)前圖庫(kù)所用的調(diào)色板intGetBlkNumbe
6、r()取得當(dāng)前圖庫(kù)中圖塊的數(shù)量BOOLEANBlkiToIcon(CDCdcWndintwDestinthDestCBitmap把指定編號(hào)的圖塊輸出成指定大小的標(biāo)準(zhǔn)位圖(縮放)HLEBlkiToBitmap(LPBITMAPINFO把指定編號(hào)的圖塊輸出成與原來(lái)圖塊大小相同的標(biāo)準(zhǔn)位圖LPBITMAPINFOGetBlkiInfo(BlkInfo取得指定編號(hào)的圖塊的信息BOOLEANBlk(intpositionCBitmapmBitmap
7、CBitmapmMaskintblkxintblky)把一個(gè)標(biāo)準(zhǔn)的位圖加入圖塊庫(kù)中,成為一個(gè)圖塊BOOLEANBlk(intposition)從圖塊庫(kù)中刪除指定位置的圖塊protected:LPBITMAPINFOmDibInfoBOOLEANReadBlkLibFile(LPCTSTRlpszBlkName)BOOLEANReadBlkIdxFile(LPCTSTRlpszIdxName)BOOLEANReadBlkPalFile()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲開發(fā)工具的教學(xué)應(yīng)用探究.pdf
- bor land開發(fā)工具
- 座艙顯示系統(tǒng)圖形界面開發(fā)工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 通用企業(yè)應(yīng)用平臺(tái)集成開發(fā)工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于OGRE圖形引擎的RPG游戲場(chǎng)景編輯器開發(fā).pdf
- 自考軟件開發(fā)工具
- jdk開發(fā)工具包
- 基于RPG游戲引擎的游戲開發(fā)平臺(tái)的實(shí)現(xiàn).pdf
- 通用移動(dòng)增強(qiáng)現(xiàn)實(shí)框架及其開發(fā)工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- windows ce的開發(fā)工具包
- UniEAP Workshop開發(fā)工具的研制.pdf
- 匯編語(yǔ)言程序開發(fā)工具
- [學(xué)習(xí)]網(wǎng)頁(yè)開發(fā)工具課程簡(jiǎn)介
- 軟件開發(fā)工具與環(huán)境
- rpg游戲分析
- 日式rpg游戲
- 模型驅(qū)動(dòng)的服務(wù)構(gòu)件開發(fā)工具.pdf
- 一些開發(fā)工具包
- 軟件開發(fā)工具實(shí)驗(yàn)報(bào)告
- lr.java表單快速開發(fā)工具
評(píng)論
0/150
提交評(píng)論