作者对游戏的说明: 首先,您应当以一种批判的眼光来看待本程序。这个游戏是我制作 的第一部RPG游戏,无任何经验可谈,完全按照自己对游戏的理解进 行设计的。当我参照了《圣剑英雄2》的源码之后,才体会到专业游 戏引擎的博大精深。 该程序的内核大约有2000余行,能够处理人物的行走、对话、战斗, 等等。由于该程序的结构并不适于这种规模的程序,故不推荐您详 细研究该程序。所附地图编辑器的源程序我已经添加了详细的注释, 其程序结构也比较合理,可以作为初学VC的例子。 该程序在VC的程序向导所生成的SDI框架的基础上修改而成。它没有 使用任何关于VC底层的东西。程序的绝大部分都是在CgameView类中 制作的,只有修改窗口特征的一段代码在CMainFrm类中。其他的类 统统没有用到。另外添加的一个类是CEnemy类。 整个游戏的故事情节分成8段,分别由Para1.h ~ Para8.h八个文件 实现。由于程序仅仅能够被动的处理各种各样的消息,所以情节的 实现也只能根据系统的一些参数来判断当前应当做什么。在程序中 使用了冗长的if……else if……结构来实现这种判断。 当然,在我的记录本上,详细的记录了每个事件的判断条件。这种 笨拙的设计当然是不可取的。成都金点所作《圣剑英雄II》采用了 剧本解读的方式,这才是正统的做法。但这也需要更多的编程经验 和熟练的code功夫。 下面列举的是程序编制过程中总结出来的经验和教训。 第一,对话方式应该采用《圣剑英雄II》的剧本方式。 现在的方式把一个段落中所有的对话都混在一个文件中,然后给每 句话一个号码相对应。这样做虽然降低了引擎的难度,却导致剧情的 编写极其繁琐。 第二,运动和显示应当完全分开。 现在的程序中,运动和显示是完全同步的。即:在定时器中调用所有 敌人的运动函数,然后将主角的动画向前推一帧,接着绘制地图,调 用所有敌人的显示函数、重绘主角。这样的好处是不会掉帧,但带来 的问题是,如果要提高敌人的运动速度,那么帧数也跟着上去了。所 以当DEMO版反馈说速度太慢的时候,我修改起来非常困难。而这个问 题到最后也仅仅是将4步一格该成了2步一格。 第三,VC中数组存在上限。如果用“int aaa[1000000000]”定义一个 数组,编译器肯定不会给分配那么大的内存空间。而在这个程序中, 地图矩阵、NPC矩阵都超过了VC中数组的上限。但这一点知道的太晚了。 在1.0版本中已经发现地图最右端缺少了几行,但不知道是什么原因 造成的。(地图编辑器中未出现此问题,因为地图编辑器是用“序列 化”的方式存盘读盘的。)解决这个问题的方法是用“new”来分配 内存空间。 第四,由于不知道应该如何使用“new”和“delete”,几乎所有的DC 都使用了全局变量。这是完全没有必要的。程序运行期大约会耗用20 多M的内存空间,相当于一个大型游戏所使用的内存空间了。 另外,在游戏的剧情、美工方面也有许多问题,总之一个词“业余”。 我就不总结了。下一部作品,我将争取在程序上有一个质的飞跃。
2021-11-08 22:31:11 8.25MB OpenGL 游戏
1
这个程序是在MFC的框架下 构建OPENGL场景,并在OPenGL 场景中导入.3DS格式的3D模型,程序中的很多代码可以直接拿来运用到自身的程序中,非常方便
2021-11-06 20:31:13 1.75MB MFC 3D模型
1
基于OpenGL的3D虚拟场景设计与实现:原版论文,内附详细的流程图和运行截图。
2021-10-18 20:58:46 1.18MB OpenGL 3D 虚拟场景 C++
1
基于OpenGL的VxWorks图形界面开发
2021-10-17 22:01:40 682KB 基于OpenGL的VxWork 图形界面开发
《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》覆盖了计算机图形学基础课程中的所有主题,包括光与材质的相互作用、明暗绘制、建模、曲线和曲面、反走样、光栅化、纹理映射和图像合成等内容。 在广泛结合OpenGL并注重图形应用编程的基础上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》向读者介绍了计算机图形学的核心概念。书中代码采用C和C++语言,并使用了自顶向下和面向编程的方法,使读者能够迅速地创建自己的三维图形。在结构安排上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》在读者学会了编写交互式图形程序之后再介绍底层的算法,如线段的绘制以及多边形填充等算法。
2021-10-03 15:01:29 63.7MB 计算机图形学
1
欢迎大家下载 好东西啊1大家捧下场 谢谢
2021-10-03 10:04:29 63KB 学习opengl 好例子
1
将鱼眼全景图显示在一个球体上,从而肉眼能够感受到鱼眼视觉效果。
2021-09-29 16:52:13 884KB 鱼眼 全景图 GLSL opengl
1
利用OpenGL进行UI界面的显示编码设计,其他功能都是用C++进行编码。包括地图和路线显示、最短路径算法、数据的文本形式存储与读取&&音乐文件的播放。
2021-09-15 19:05:05 56.01MB 校园导航系统 二级项目 OpenGL C++
1
适合刚接触opengl的朋友,包含基本的图形(正方体,球形etc)的绘制,demo。
2021-09-12 15:39:43 228KB c++ opengl 立方体 球形
1
交互式计算机图形学 基于OpenGL着色器的自顶向下方法 第5版_中文版
2021-09-11 09:21:29 63.7MB 交互式  opengl 中文 计算机图形学
1