回 帖 发 新 帖 刷新版面

主题:[AnyPlay游戏引擎代码]完整源代码下载(目前进度:精灵动画)

前言:
由于本人还是在校学生,不可能拥有一个成熟的游戏开发团队。单靠一人的力量开发游戏引擎,我有种力不从心的感觉。因此,我希望广大的网友——不论你水平如何,经验多少——都能够参与到AnyPlay游戏引擎的开发工作当中。我将陆续把游戏引擎的各个模块发布到http://bbs.bccn.net/中,希望大家共同探讨,共同进步,同时也希望让更多的人加入到开放源代码的行列!

说明:
AnyPlay是我从今年(2008年)9月开始着手的一款2D游戏引擎,目前有以下模块:

A:基本类型
1. String(字符串)
2. Color(颜色)
3. Vector(向量)
4. Rect, Quad(矩形、四边形)
5. Node(节点)

B:框架
1. Singleton(单件类,其子类对象在全局被访问,但是只能创建一个实体)
2. Application(应用程序基类,以后做游戏的游戏框架要继承这个类)
3. Event, EventSet(事件集,使用类内回调来反馈信息)
4. Logger(日志记录器,记录发出的事件并输出)

C:系统
1.渲染系统:RenderSystem 派生出 D3D9RenderSystem 和 OGLRenderSystem(尚未完成)。
2.文件系统:FileSystem 可访问磁盘上的文件和资源包(*.zip)里的文件。
3.音频系统:AudioSystem 使用开源的WMp3代码实现mp3文件以及内存中的音频流的播放。
4.输入系统:InputSystem 派生出的 APIInputSystem 通过调用WinAPI来获得鼠标、键盘的状态。
5.计时系统:Timer 使用 WinAPI “QueryPerformanceCounter” 来实现高精度计时。

D:管理器
1.RenderSystem(纹理管理器,作为渲染系统的同时也包含管理纹理的功能)
2.ImageManager(图片管理器,载入和释放图片)
3.SpriteManager(精灵动画管理器,载入和释放精灵动画)
4.SceneManager(场景管理器,管理场景内的精灵动画,并向其发出用户事件)

E:动画
1.Animation(动画基类,借鉴Adobe Flash的帧/层思想做的)
2.Image(单个图片,一个纹理内可能含有多个图片)
3.Sprite(精灵动画,派生于Animation,用来真正实现游戏动画的播放)

[color=Red][size=4][b]一个人的思维,难免会有Bug或不完善的地方,
如果你对以下代码有什么意见或建议,欢迎发帖回复,非常感谢!
我坚信,好代码是改出来的[/b][/size][/color][em2] 

[color=Purple][size=3](恳请大家看代码的时候帮我多留个心眼,就是——找出错误或不足的地方)[/size][/color]

TODO: 编译此工程需要安装VC6.0或VC2005等版本,并且安装了DirectX 9.0c以上的版本
目前你将看到的是一个跟随鼠标移动的图片
我将继续更新,也期待着大家不断地发现问题!

回复列表 (共12个回复)

沙发

不错,真的不错:)

板凳

谢谢下载。如果能挑挑我代码中的刺那就最好不过了[em2]

3 楼

很强大

4 楼


单件类不是那么用的吧。。
按照我的理解 单件类不能直接new吧,貌似你这类能。。。。。

5 楼

谢谢楼主了,分享了!

6 楼

哎,支持!每看到这样的作品,对我都是一个巨大的打击啊,为什么我就没有呢?

7 楼

顶一下

8 楼

我也是在校生啊   什么东东  详细介绍一下   我只是个初学者

9 楼

好贴。支持一下了。。。

10 楼


你好,我是刚刚开始学习游戏编程,看了你的源代码,想知道你是怎么做模型管理和场景管理的呀,你写的说明里面有.SceneManager,可是我没在程序里面看到,能不能解释下呀,谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册