标题:Flyue's游戏引擎设计方案
只看楼主
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
结帖率:100%
 问题点数:0 回复次数:23 
Flyue's游戏引擎设计方案
Flyue’s游戏引擎设计方案
在这个方案里我不会详细讲具体的代码,只会告诉大家在一个游戏里面需要哪些模块,具体的代码还得靠大家自己写。
每个人负责一个或多个模块,要充分利用现成的资源,所负责的模块代码要有可移植性、可重复利用;每个类的代码都要明确公有、私有和保护属性;运算速度要快,并且没有内存泄露。对负责的模块要做一个测试的程序来反复调试,直到没有问题后再交付使用。
一、引擎的基石
1.CList - 快速双向链表。除了提供链表应有的功能外,还可以排序、互换数据、枚举结点、获得指定位置的结点数据等。在后面的所有需要存储数据的地方都要用CList来存放该数据的指针。(已实现)
2.CTimer - 超高精度计时器。可以开始/停止计时、锁定帧率、计算帧率。具体用QueryPerformanceCounter实现,其精度达到了系统级。(已实现)
3.函数HitBall、HitBox分别用于碰撞球检测、碰撞盒检测。
二、引擎代码
1.CDXGraphics - 图象输出。用于管理Direct3D9数据,纹理(图片)数据和字体数据。为图象输出、文字输出提供接口,在后面的需要绘图的地方都要用此对象来绘制。(已实现)
2.CPicClip – 图象碎片管理模块。在游戏里需要把一张大的图片分割成许多小块,并为其编号。CPicClip就是用来管理这些图象碎片的。(已实现)
3.CSprite – 精灵动画。用于管理和播放帧动画。提供了添加、删除帧,绘制到屏幕、开始播放、停止播放的接口函数(已实现)
4.CSpriteManager – 精灵管理模块。用于管理游戏里的所有CSprite对象,可添加、删除、改变绘图顺序、绘制所有精灵、响应用户的消息等功能。
5.用户控件:以下所有的控件类都由CSprite派生,并可以由CSpriteManager象CSprite一样管理。每个控件类都可以设置回调函数来处理用户的操作。
CUIButton    按钮
CUIEdit        输入框
CUIScroll        滚动条
CUIForm        可拖动对象
CUIProgress    进度条
CUISlider        滑块

三、声音
1.CAudio – 用来管理背景音乐、游戏音效。可以播放、暂停、停止音乐,可以设置、获得音量。

四、游戏资源管理
1.CResManager - 资源管理模块。游戏中的资源文件(如图片、音乐等数据)都不能暴露在外面,需要把其打包,做成一个资源包。以后除了此模块之外的其他模块都不可以直接进行文件操作,都需要通过此模块所提供的读取、添加、删除、重命名、枚举存在的数据等接口来获取资源。
五、输入系统
1.CKeyboard - 键盘。管理DirectInput8键盘对象,用于检测哪些按键被按下了。
2.CMouse – 鼠标。管理DirectInput8鼠标对象,用于检测鼠标的点击、移动等事件。

测试的程序:
D3DTest.rar (509.99 KB)



[[it] 本帖最后由 flyue 于 2008-6-4 18:01 编辑 [/it]]
搜索更多相关主题的帖子: 设计方案 Flyue 游戏引擎 
2008-06-04 13:42
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
得分:0 
Orz


" border="0" />[color=white]
2008-06-04 13:43
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
你向我拜倒了吗?

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-04 14:14
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
得分:0 
[bo][un]flyue[/un] 在 2008-6-4 14:14 的发言:[/bo]

你向我拜倒了吗?

嗯嗯,拜倒在你裙子下了



" border="0" />[color=white]
2008-06-04 14:26
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
拜倒在裙子下,看到小nk.......

flyue, 这个准备做什么游戏阿?

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-06-04 15:01
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
得分:0 
[bo][un]mqh21364[/un] 在 2008-6-4 15:01 的发言:[/bo]

拜倒在裙子下,看到小nk.......

flyue, 这个准备做什么游戏阿?

什么nk??
flyue说还没想好做什么


" border="0" />[color=white]
2008-06-04 15:15
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
得分:0 

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-06-04 15:18
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
我恶……
做什么游戏?还没想好。燕子暑假你来不来一起开发?

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-04 17:21
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
要不停地改进。一个暑假完全可以做好。大家有兴趣来一起做,一人负责一个模块

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-04 17:40
zyx1988
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-6-4
得分:0 
3.函数HitBall、HitBox分别用于碰撞球检测、碰撞盒检测。
这个东西我曾经在论坛上看到过  一个国外的论坛 不完成时这样到  算法应该差不多
2008-06-04 20:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-217592-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047114 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved