
Game Engine
lingang_
coding
展开
-
2d游戏引擎(一)——整体框架
这个2d引擎只是一个引擎雏形,以后还将进行扩展,甚至扩充为一个3d引擎,让我们拭目以待吧~! file="/Best4cUserFiles/20080712/17143_1215848141812";showImage();代码清单://-----------------------------------------------------------------原创 2008-07-11 17:37:00 · 1700 阅读 · 1 评论 -
T3D图形库(四)
DDraw及图形算法库文件部分 /*2008.9.16T3D图形库——编程大师技巧>>*///DDraw_lib.cpp // INCLUDES /////////////////////////////////////////////// #include #include #include //多媒体API #includ原创 2008-10-04 10:17:00 · 2028 阅读 · 0 评论 -
T3D图形库(三)
T3D图形库DMusic&&DSound头文件部分 /*2008.10.3T3D图形库——编程大师技巧>>*/// DirectSound && DirectMusic #ifndef DS_DM_LIB #define DS_DM_LIB #define DM_NUM_SEGMENTS 64 // 内存中可以被捕获到的MIDI原创 2008-09-29 17:09:00 · 1003 阅读 · 0 评论 -
T3D图形库(二)
T3D图形库DInput 头文件部分 /*2008.10.1T3D图形库——编程大师技巧>>*/#ifndef DI_LIB #define DI_LIB // DI_LIB.H int DInput_Init(void);void DInput_Shutdown(void);int DInput_Init_Joys原创 2008-09-29 17:03:00 · 793 阅读 · 0 评论 -
T3D图形库(一)
T3D图形库DDraw及图形算法头文件部分 /*2008.9.15T3D图形库——编程大师技巧>>*///DDraw_lib.h #ifndef DDraw_lib #define DDraw_lib // DEFINES //////////////////////////////////////////////// //默认屏原创 2008-09-29 16:57:00 · 2046 阅读 · 1 评论 -
2D游戏引擎(十)—— 增强游戏引擎中的子画面
在2d游戏中,如何对不需要的动画子画面进行自动隐藏或删除?例如,当一个爆炸子画面的帧动画结束后,需要对此子画面进行删除操作。另外对此前的游戏引擎中,除了对边界动作为BA_DIE的子画面可以对其删除外,还没有提供一个在一些特定时刻需对子画面对象进行删除操作的方法,比如碰撞时需要删除互相碰撞的两个子画面。首先向Sprite.h中添加2个成员变量。 BOOL m_bD原创 2008-08-02 20:49:00 · 764 阅读 · 0 评论 -
2D游戏引擎(八)——添加动画子画面支持
动画子画面是通过循环播放一系列帧图像来获得动画效果。为了向引擎添加动画子画面,修改代码如下。向Bitmap.cpp添加DrawPart()方法,该方法允许只绘制子画面位图图像的一部分,从而支持帧动画。void Bitmap::DrawPart(HDC hDC, int x, int y, int xPart, int yPart, int wPart, int hPart,原创 2008-08-01 21:33:00 · 806 阅读 · 0 评论 -
2D游戏引擎(九)——添加背景支持
2d游戏中,基本背景类型为以下4种: 1.纯色背景2.图像背景3.动画背景4.滚动背景在下面的Background类中,支持前3种背景(其中第3种背景为自定义的:星空背景),第4种背景将在以后展开。程序清单://----------------------------------------------------------------- // B原创 2008-08-01 23:34:00 · 766 阅读 · 0 评论 -
播放波形声音
Win32 API 提供了对播放波形声音的高级支持,指可以使用Win32 API 播放波形声音而不必关心波形声音的细节或者处理内存中的原始声音数据。函数原型如下:BOOL PlaySound(LPCSTR szSound, HMODULE hmod, DWORD dwSound)下面是使用PlaySound函数播放一个波形文件的例子PlaySound("*.wav",NULL,SND_原创 2008-07-31 22:58:00 · 1808 阅读 · 0 评论 -
2D游戏引擎(六)——添加子画面管理器
子画面管理器集成在游戏引擎类里面,对子画面对象进行一些操作处理,例如把子画面集中在一个vector类中,对其进行批量更新和绘制。因为修改的东西较多,我也懒得写了,贴下代码吧。另外此次修改也顺便解决下游戏画面的闪烁问题,自然采用双重缓存技术。代码清单://-----------------------------------------------------------------//原创 2008-07-30 22:04:00 · 1202 阅读 · 0 评论 -
2D游戏引擎(七)——添加MIDI音乐支持
要想向游戏引擎添加MIDI支持,需要做的第一件事就是记录MIDI编曲设备ID。向GameEngine.h添加一个新的成员变量即可:UINT m_uiMIDIPlayerID;在GameEngine()构造函数初始化m_uiMIDIPlayerID成员变量,如下所示:m_uiMIDIPlayerID = 0;在游戏引擎中完成MIDI音乐播放的3个新方法:原创 2008-08-01 12:59:00 · 913 阅读 · 0 评论 -
2D游戏引擎(五)——添加子画面类
子画面的主要目的是模拟游戏中能够随时间移动的图形对象,它具有以下属性:Bitmap* m_pBitmap; //位图指针 RECT m_rcPosition; //子画面位置 POINT m_ptVelocity; //速度 int m_iZOrder; //z顺序 RECT m_原创 2008-07-29 23:37:00 · 932 阅读 · 0 评论 -
2D游戏引擎(四)—— 向引擎添加游戏杆支持
暑假刚买了个北通的游戏杆,想不到那么快便派上了编程的用场,呵呵~~让游戏引擎支持游戏杆输入,无疑对于游戏发烧友来说是很重要的,修改后的GameEngine.h如下//-----------------------------------------------------------------// Game Engine Object// C++ Header - GameEngi原创 2008-07-28 19:11:00 · 1225 阅读 · 0 评论 -
2D游戏引擎(三)—— 向引擎添加输入支持
对引擎作以下修改:1.添加键盘支持2.添加鼠标支持3.修改Bitmap类,使其支持位图透明4.添加错误退出代码修改代码如下:GameEngine.h函数声明//键盘函数void HandleKeys();//鼠标函数void MouseButtonDown(int x, int y, BOOL bLeft);void MouseButtonUp(int原创 2008-07-27 19:36:00 · 949 阅读 · 0 评论 -
2d游戏引擎(二)——向引擎添加位图类
位图(Bitmap)类背后的思路是,提供一种从文件或者资源加载位图并将位图绘制到一个设备环境的方法。通过将这些功能结合到一个类中,我们就能够在游戏中创建极易使用的Bitmap对象,并且可以隐藏处理位图的各种繁杂工作。Bitmap类有以下需求:1.从文件中加载位图2.从资源中加载位图3.创建纯色的空白位图4.将位图绘制到设备环境5.获得位图的宽度和高度 代码清单:原创 2008-07-27 15:11:00 · 1077 阅读 · 2 评论 -
DirectX角色扮演游戏编程(2rd)游戏内核
因为《DirectX角色扮演游戏编程(2rd)》用的是sdk 9.0b,那个版本已很少见,经过修改相关api,使其游戏内核代码能在vs2005+dx9.0c中运行。9.0c不支持dshow,所以mp3类去掉了。附加依赖项:d3d9.libd3dx9.libd3dx9d.libd3dxof.libwinmm.libdxguid.libdinput8.libdsound.libdplayx.lib原创 2009-02-25 11:21:00 · 1915 阅读 · 0 评论