| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 2898 人关注过本帖
标题:Flyue's游戏引擎设计方案
收藏  订阅  推荐  打印 
本主题由 静夜思 于 2008-6-4 18:53 加入精华
flyue
Rank: 12Rank: 12Rank: 12
等级:版主
威望:9
帖子:1785
积分:18643
注册:2006-6-20
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鼠标对象,用于检测鼠标的点击、移动等事件。

测试的程序:


[ 本帖最后由 flyue 于 2008-6-4 18:01 编辑 ]
附件: 只有本站会员才能下载或查看附件,请您 登录注册
搜索更多相关主题的帖子: 设计方案  Flyue  游戏引擎  
2008-6-4 13:42
Loli
Rank: 3Rank: 3
来自:飞燕算法群46520219
等级:中级会员
帖子:348
积分:3862
注册:2008-5-27

Orz


[color=white]

论坛http://yzfy.org 我的QQ号1007665007
Loli算法讨论QQ群: 3996098(每周有教学课) 46520219 57909089
2008-6-4 13:43
flyue
Rank: 12Rank: 12Rank: 12
等级:版主
威望:9
帖子:1785
积分:18643
注册:2006-6-20

你向我拜倒了吗?

大家一起来编程吧!
2008-6-4 14:14
Loli
Rank: 3Rank: 3
来自:飞燕算法群46520219
等级:中级会员
帖子:348
积分:3862
注册:2008-5-27

flyue 在 2008-6-4 14:14 的发言:

你向我拜倒了吗?
嗯嗯,拜倒在你裙子下了



[color=white]

论坛http://yzfy.org 我的QQ号1007665007
Loli算法讨论QQ群: 3996098(每周有教学课) 46520219 57909089
2008-6-4 14:26
mqh21364
Rank: 4
等级:高级会员
帖子:638
积分:6970
注册:2008-2-28

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

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

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-6-4 15:01
Loli
Rank: 3Rank: 3
来自:飞燕算法群46520219
等级:中级会员
帖子:348
积分:3862
注册:2008-5-27

mqh21364 在 2008-6-4 15:01 的发言:

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

flyue, 这个准备做什么游戏阿?
什么nk??
flyue说还没想好做什么


[color=white]

论坛http://yzfy.org 我的QQ号1007665007
Loli算法讨论QQ群: 3996098(每周有教学课) 46520219 57909089
2008-6-4 15:15
liyanhong
Rank: 2
来自:水星
等级:ID已被封
威望:8
帖子:1870
积分:4594
注册:2008-5-3


爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-6-4 15:18
flyue
Rank: 12Rank: 12Rank: 12
等级:版主
威望:9
帖子:1785
积分:18643
注册:2006-6-20

我恶……
做什么游戏?还没想好。燕子暑假你来不来一起开发?

大家一起来编程吧!
2008-6-4 17:21
flyue
Rank: 12Rank: 12Rank: 12
等级:版主
威望:9
帖子:1785
积分:18643
注册:2006-6-20

要不停地改进。一个暑假完全可以做好。大家有兴趣来一起做,一人负责一个模块

大家一起来编程吧!
2008-6-4 17:40
zyx1988
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2008-6-4

3.函数HitBall、HitBox分别用于碰撞球检测、碰撞盒检测。
这个东西我曾经在论坛上看到过  一个国外的论坛 不完成时这样到  算法应该差不多
2008-6-4 20:42
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.066990 second(s), 10 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved