下载完整游戏内核包
创建游戏内核(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
代码。