当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 角色扮演游戏引擎的设计原理 角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家。
 

 

    摘要:我们知道c语言的功能非常强大,很适合编写系统软件。利用它我们可以很容易地解决经常遇到的一些棘手的问题,如拷贝隐含或系统属性的文件(特别是光盘中的隐含文件)、在任意dos版本或在windows中更改子目录的名称、在任意dos 版本中使用带空格的目录名等等。这些问题仅靠操作系统或常用的工具软件往往很难凑效。我们可以利用c语言的强大功能来编写一些小程序,能够很顺利地解决这些问题。 一、拷贝隐含或系统属性......
 ·多继承详解    »显示摘要«
    摘要:触及 multiple inheritance (mi)(多继承)的时候,c++ 社区就会鲜明地分裂为两个基本的阵营。一个阵营认为如果 single inheritance (si)(单继承)是有好处的,multiple inheritance(多继承)一定更有好处。另一个阵营认为 single inheritance(单继承)有好处,但是多继承引起的麻烦使它得不偿失。在本文中,我们的主要目的是理......


游戏引擎原理
上一页   ...directx由快速的底层库组成并且没有给游戏设计添加过多的约束.微软的directx软件开发工具包(sdk)提供了一套优秀的应用程序编程接口(apis),这个编程接口可以提供给你开发高质量.实时的应用程序所需要的各种资源.

directdraw: 使用页面切换的方法实现动画,它不仅可以访问系统内存,还可以访问显示内存. 【程序编程相关:SPARC处理器

directx的6个组件分别是: 【推荐阅读:PA-RISC处理器

directsound: 立体声与3d声音效果,同时管理声卡的内存. 【扩展信息:PowerPC处理器

direct3d: 提供了3d硬件接口.

directplay: 支持开发多人网络游戏,并能处理游戏中网络之间的通信问题.

directinput: 为大量的设备提供输入支持.

directsetup: 自动安装directx驱动程序.

随着directx版本的提高,还增加了音乐播放的directmusic.

3.alphablend 技术

现在许多游戏为了达到光影或图象的透明效果都会采用alphablend 技术.所谓alphablend技术,其实就是按照"alpha"混合向量的值来混合源像素与目标像素,一般用来处理半透明效果.在计算机中的图象可以用r(红色),g(绿色),b(蓝色)三原色来表示.假设一幅图象是a,另一幅透明的图象是b,那么透过b去看a,看上去的图象c就是b与a的混合图象,设b图象的透明度为alpha(取值为0-1,0为完全透明,1为完全不透明),alpha混合公式如下:

r(c)=alpha*r(b)+(1-alpha)*r(a)

g(c)=alpha*g(b)+(1-alpha)*g(a)

b(c)=alpha*b(b)+(1-alpha)*b(a)

r(x).g(x).b(x)分别指颜色x的rgb分量原色值.从上面的公式可以知道,alpha其实是一个决定混合透明度的数值.应用alpha混合技术,可以实现游戏中的许多特效,比如火光.烟雾.阴影.动态光源等半透明效果.

4.a*算法

在许多游戏中要用鼠标控制人物运动,而且让人物从目前的位置走到目标位置应该走最短的路径.这就要用到最短路径搜索算法即a*算法了.

a*算法实际是一种启发式搜索,所谓启发式搜索,就是利用一个估价函数评估每次的的决策的价值,决定先尝试哪一种方案.如果一个估价函数可以找出最短的路径,我们称之为可采纳性.a*算法是一个可采纳的最好优先算法.a*算法的估价函数可表示为:f(n) = g(n) + h(n)

这里,f(n)是节点n的估价函数,g(n)是起点到终点的最短路径值,h(n)是n到目标的最断路经的启发值.由于a*算法比较复杂,限于篇幅,在此简单介绍一下,具体理论朋友们可以看人工智能方面的书籍了解详细的情况.

其它技术还有粒子系统,音频与视频的调用,图象文件的格式与信息存储等,大家可以在学好directx的基础上逐渐学习更多的技术.

(二)游戏的具体制作

1.地图编辑器的制作


...   下一页
 ·c/c++中的整型常识    »显示摘要«
    摘要:很多人对c/c++中的整型不太了解,导致代码移植的时候出现问题,本人在此总结一下:a. c/c++对整型长度的规定是为了执行效率,将int定义为机器字长可以取得最大的执行速度;b. c/c++中整型包括:int, char 和 enum, c++中还包含bool类型,c99中bool是一个宏,实际为_bool; c. c 和 c++ 对 enum 的规定有所不同,这里不描述;d. 修饰整型正负的有......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE