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