下載完整游戲內(nèi)核包
創(chuàng)建游戲內(nèi)核(25)【完】 摘要:
本篇是創(chuàng)建游戲內(nèi)核(24)的續(xù)篇,涉及到的DirectPlay基礎(chǔ)知識(shí)請(qǐng)參閱使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(4)。
可以使用NETWORK_CLIENT類來處理網(wǎng)絡(luò)的客戶端對(duì)象,它的使用方法同NETWORK_SERVER對(duì)象的使用方法相似,但有一點(diǎn)不同,那就是連接到網(wǎng)絡(luò)的方法,必須使用NETWORK_CLIENT::connect來建立與服務(wù)器端的連接。
創(chuàng)建游戲內(nèi)核(24) 摘要:
本篇是創(chuàng)建游戲內(nèi)核(23)的續(xù)篇,涉及到的DirectPlay基礎(chǔ)知識(shí)請(qǐng)參閱使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(2),使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(3)。
可以使用類NETWORK_SERVER來處理網(wǎng)絡(luò)服務(wù)器端,這個(gè)類用于初始化DirectPlay服務(wù)器對(duì)象,主持游戲會(huì)話,處理收到和要發(fā)送的網(wǎng)絡(luò)消息。
創(chuàng)建游戲內(nèi)核(23) 摘要:
網(wǎng)絡(luò)內(nèi)核包括三個(gè)類:NETWORK_ADAPTER,NETWORK_SERVER,NETWORK_CLIENT。
NETWORK_ADAPTER類用于枚舉系統(tǒng)上安裝了的TCP/IP設(shè)備。為了同客戶端建立連接,必須知道設(shè)備的GUID,這正是NETWORK_ADAPTER類的用途。
創(chuàng)建游戲內(nèi)核(22) 摘要:
本篇是創(chuàng)建游戲內(nèi)核(21)的續(xù)篇,有關(guān)DirectAudio和DirectShow的基礎(chǔ)知識(shí)請(qǐng)參閱用DirectX
Audio和DirectShow播放聲音和音樂。
在MP3類中,可以初始化并關(guān)閉DirectShow,渲染媒體文件以及控制歌曲的回放(開始播放、停止播放以及暫停播放)。
創(chuàng)建游戲內(nèi)核(21) 摘要:
本篇是創(chuàng)建游戲內(nèi)核(20)的續(xù)篇,有關(guān)DirectAudio和DirectShow的基礎(chǔ)知識(shí)請(qǐng)參閱用DirectX
Audio和DirectShow播放聲音和音樂。
為了增強(qiáng)MUSIC_CHANNEL類的音樂回放特性,可以使用DLS類。
創(chuàng)建游戲內(nèi)核(20) 摘要:
本篇是創(chuàng)建游戲內(nèi)核(19)的續(xù)篇,有關(guān)DirectAudio和DirectShow的基礎(chǔ)知識(shí)請(qǐng)參閱用DirectX
Audio和DirectShow播放聲音和音樂。
沒有了音樂,游戲?qū)⒆兊煤翢o樂趣,可以通過使用類MUSIC_CHANNEL來播放.MID和DirectMusic本地歌曲(.SGT)。
創(chuàng)建游戲內(nèi)核(19) 摘要:
前面介紹了如何初始化聲音系統(tǒng)以及如何加載聲音數(shù)據(jù),很自然地,接下來就要講述如何播放聲音了,這也正是SOUND_CHANNEL類的用途所在。
創(chuàng)建游戲內(nèi)核(18) 摘要:
SOUND對(duì)象控制DirectSound和DirectMusic對(duì)象,控制回放聲音時(shí)的音量(全局音量控制),也觸發(fā)音頻流相關(guān)消息。
創(chuàng)建游戲內(nèi)核(17) 摘要: 聲音內(nèi)核為快速和容易地將聲音和音樂加入到游戲中提供了一種解決方案,聲音內(nèi)核包含6個(gè)類組件。
創(chuàng)建游戲內(nèi)核(16) 摘要:
通過鍵盤、鼠標(biāo)和游戲桿,輸入內(nèi)核提供了一種手段,使玩家能夠同游戲進(jìn)行交互。使用兩個(gè)簡(jiǎn)單的類:INPUT和INPUT_DEVICE產(chǎn)生輸入設(shè)備。
INPUT類用來初始化DirectInput,而INPUT_DEVICE類用來包含一個(gè)DirectInput設(shè)備接口對(duì)象。如果要使用多個(gè)設(shè)備,需要對(duì)每個(gè)設(shè)備使用單獨(dú)的INPUT_DEVICE對(duì)象。
創(chuàng)建游戲內(nèi)核(15) 摘要:
ANIMATION類是網(wǎng)格動(dòng)畫組件,也是圖形內(nèi)核的最后一個(gè)類。使用ANIMATION,就能夠從.X文件加載一連串動(dòng)畫集,把它同OBJECT結(jié)合起來創(chuàng)建網(wǎng)格動(dòng)畫。ANIMATION類很小,類似于MESH,它也有一些用于保存動(dòng)畫數(shù)據(jù)鏈表的結(jié)構(gòu)體。
創(chuàng)建游戲內(nèi)核(14) 摘要:
三維動(dòng)畫與二維動(dòng)畫相比較是一個(gè)全新的處理過程。不用再奢侈地繪制圖像,然后按順序顯示來創(chuàng)建動(dòng)畫。在三維世界中,一個(gè)對(duì)象可以從任何方向進(jìn)行觀察。
基本上,三維動(dòng)畫改變那些在運(yùn)行期間用于為網(wǎng)格模型指明方向的框架變換矩陣,進(jìn)而產(chǎn)生出在框架中移動(dòng)的各式各樣的網(wǎng)格模型,這個(gè)運(yùn)動(dòng)的網(wǎng)格模型就是動(dòng)畫。可以使用任何方式平移、旋轉(zhuǎn)、甚至縮放網(wǎng)格模型。
在處理蒙皮網(wǎng)格模型時(shí),框架變換的使用只不過是使網(wǎng)格模型產(chǎn)生動(dòng)畫的一種方法。因?yàn)橐粋€(gè)蒙皮網(wǎng)格模型就是一個(gè)單一的網(wǎng)格模型(并非由多個(gè)網(wǎng)格模型組成),需要改變框架比便進(jìn)行頂點(diǎn)的變形。修改框架變換矩陣最簡(jiǎn)單的方法就是使用一種稱之為關(guān)鍵楨(key
frame)的技術(shù)。
創(chuàng)建游戲內(nèi)核(13) 摘要:
創(chuàng)建MESH類的目的是為了幫助程序員將那些小守護(hù)程序(demon)加載到一連串易于使用的類中,然后同其他將網(wǎng)格渲染到顯示器上的對(duì)象結(jié)合起來使用。
創(chuàng)建游戲內(nèi)核(12) 摘要:
雖然ID3DXFont對(duì)象處理起來比較容易,但是設(shè)置字體卻讓人痛苦不堪。不要緊,使用FONT類就能快速并容易地得到字體。
創(chuàng)建游戲內(nèi)核(11) 摘要:
頂點(diǎn)是一個(gè)麻煩的東西,有時(shí)對(duì)它束手無策,通過提供一種快速創(chuàng)建、設(shè)置以及渲染頂點(diǎn)集合的方法,VERTEX_BUFFER類能夠減少此煩惱。
創(chuàng)建游戲內(nèi)核(10) 摘要:
GRAPHICS用于設(shè)置顯示模式和渲染狀態(tài)以及清除設(shè)備等,一旦初始化了GRAPHICS對(duì)象,就能夠同幾乎所有圖形內(nèi)核的類組件結(jié)合起來使用。
創(chuàng)建游戲內(nèi)核(9) 摘要:
紋理使3D看起來更貨真價(jià)實(shí),使用全彩色成像可以使簡(jiǎn)單的多邊形顯得逼真,嘗試保存一個(gè)紋理列表是一個(gè)不錯(cuò)的選擇,但有了TEXTURE的幫助,就能使問題變得更容易。
創(chuàng)建游戲內(nèi)核(8) 摘要:
光照同材質(zhì)一樣簡(jiǎn)單,使用光照可以通過很多方式實(shí)現(xiàn)很多效果,基于這個(gè)原因,這里將所有同光照有關(guān)的一切東西都匯總到一個(gè)名為L(zhǎng)IGHT的類中。
要在光源中使用光照,只需要實(shí)例化LIGHT類,然后挑選一種光源類型并設(shè)置光源的顏色,將光源置于任何適當(dāng)?shù)奈恢茫⒃O(shè)置光源的發(fā)射方向。
創(chuàng)建游戲內(nèi)核(7) 摘要:
通過改變繪制表面的顏色值,就可以改變渲染對(duì)象的外觀,MATERIAL類可以使改變材質(zhì)顏色值變得更容易一些。
創(chuàng)建游戲內(nèi)核(6) 摘要: CAMERA類和WORLD_POSITION類非常類似,但CAMERA類處理的是視口變換矩陣。
創(chuàng)建游戲內(nèi)核(5) 摘要: 圖形內(nèi)核是游戲內(nèi)核最主要的部分,也是最大和最復(fù)雜的內(nèi)核對(duì)象,下表列出了圖形內(nèi)核中的類:
其中GRPHICS對(duì)象是所有圖形內(nèi)核對(duì)象的基礎(chǔ)。
雖然處理世界變換矩陣并不難,但是用一個(gè)類來處理諸如世界坐標(biāo)、旋轉(zhuǎn)值以及縮放因子等所有細(xì)節(jié),就更簡(jiǎn)單明了。另外,這個(gè)類中還加入了公告板技術(shù)。
創(chuàng)建游戲內(nèi)核(4) 摘要: 加入了兩個(gè)函數(shù),分別用于返回?cái)?shù)據(jù)緩沖區(qū)的大小和指向緩沖區(qū)的指針。
創(chuàng)建游戲內(nèi)核(3) 摘要:
棧上的每個(gè)函數(shù)在每幀都要被調(diào)用,除了這點(diǎn)小的不同之處,PROCESS_MANAGER和STATE_MANAGER非常相似。
創(chuàng)建游戲內(nèi)核(2) 摘要:
新的狀態(tài)管理器引入了兩個(gè)概念:調(diào)用目的以及添加一個(gè)用戶自定義的數(shù)據(jù)指針,此指針指向STATE_MANAGER中的函數(shù)。調(diào)用目的是一個(gè)狀態(tài)被調(diào)用的原因,“目的(purpose)”可以是INIT_PURPOSE(表明要使用函數(shù),需要事先進(jìn)行準(zhǔn)備)、FRAME_PURPOSE(處理單獨(dú)的一幀)或SHUTDOWN_PURPOSE(在處理完成時(shí)釋放所有資源)。
創(chuàng)建游戲內(nèi)核(1) 摘要:
寫程序時(shí),處理重復(fù)(或?qū)こ#┐a的技巧就是創(chuàng)建一個(gè)有用的函數(shù)構(gòu)成的核心庫,由這個(gè)核心庫來處理重復(fù)的代碼。使用這個(gè)函數(shù)庫,就無需反復(fù)書寫相同的DirectX或Windows代碼,因而能夠幫助程序員快速創(chuàng)建游戲工程。
游戲內(nèi)核(game
core)是用來簡(jiǎn)化DirectX和Windows編程的一些庫的集合。游戲內(nèi)核中幾乎含有一個(gè)游戲工程需要使用的所有函數(shù),這些函數(shù)一般用于繪制圖形、播放聲音、處理用戶輸入以及應(yīng)用程序。也就是說,使用游戲內(nèi)核,就無需在每次開始一個(gè)新的游戲工程時(shí),再去處理底層的DirectX或Windows
代碼。