2D开源游戏框架

posts(19) comments(34) trackbacks(0)
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

公告

我是Lwq49

新版的OGF 0.8.1.0项目代码已上传了!
QQ:21038481
MSN:lwq49@msn.com
欢迎大家加入OGF开源项目小组,Q群是:42407090
目标:打造类似Popcap的开源游戏开发框架

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(18)

  •  Lego机器人(3)
  •  开源游戏框架(15)

随笔档案(19)

  • 2007年10月 (1)
  • 2007年9月 (18)

文章分类

  •  Lego机器人
  •  开源游戏框架

相册

  • Lego

在CSDN上的开源游戏框架旧文章

  • 开源游戏框架

最新随笔

  • 1. 继续放出OGF 0.8.1版的源代码,请多多支持!!!
  • 2. 关于鼠标消息处理机制的调整
  • 3. 实在佩服D鬼佬,将兴趣与艺术相结合
  • 4. OGF 0.81 debug版代码发布
  • 5. OGF框架范例11 图形对象及对象的区域
  • 6. OGF开发近况 20070806
  • 7. OGF框架之网络应用(下)
  • 8. OGF框架之网络应用(上)
  • 9. OGF框架范例07 布局器
  • 10. OGF框架范例06 物件动作

搜索

  •  

积分与排名

  • 积分 - 23083
  • 排名 - 752

最新评论

  • 1. re: 一些乐高NXT相关的网站与博客
  • 评论内容较长,点击标题查看
  • --business loans
  • 2. re: OGF 0.81 debug版代码发布
  • libc.lib在哪里
  • --j
  • 3. re: 一些乐高NXT相关的网站与博客
  • 评论内容较长,点击标题查看
  • --home loans
  • 4. re: 继续放出OGF 0.8.1版的源代码,请多多支持!!!
  • 谢谢分享,下下来研究下!
  • --Nation
  • 5. re: 一些乐高NXT相关的网站与博客
  • 评论内容较长,点击标题查看
  • --thesis service

阅读排行榜

评论排行榜

View Post

OGF框架范例01 Hello World!

        游戏框架的示例,我确实不知如何写才能引人入胜,因为它实在是一些框框条条的东西,并不像图形引擎哪样注重效果的表现,所以,希望读者能耐心地看完所有示例介绍,望能从中找到你需要的功能。

注:以下每个示例均基于上一示例基础上修改,为此,相同部分不再重复。
 

Sample01
简介:
Hello World!
该例范展示了OGF框架的最基本架构及如何基于OGF创建你的游戏项目,运行后会在屏幕中心显示一段经典的"Hello World!"字样。
1.创建一个window项目.

2.设置项目引用以下库文件(项目->属性->链接器->输入->附加依赖项),路径改为您的OGF目录下的LIB目录
 ../../lib/hge.lib
 ../../lib/hgehelp.lib
 ../../lib/ObjectComD.lib
 ../../lib/FrameComD.lib
 ../../lib/GameFrameD.lib
 ../../lib/ServiceEnginerD.lib

3.创建一个GameFrame类,使该类基于CGameFrameDlg类.(以后可重载该类的方法,以改变OGF框架的属性及流程)

4.创建一个MyGameBody类,使该类基于CGameBody类(此为您的游戏执行主体)

5.重载OnInitialize()方法(原型:bool __cdecl OnInitialize();)

6.在OnInitialize()方法内加入如下内容:
 //如果没有自定义的流程规划,则系统需调用以下语句:
 __super::OnInitialize();

 //创建文本对象
 CGameObjectText*  pGOText = new CGameObjectText();
 SIZE     siSize;
 POINT     piPos;

 siSize.cx = siSize.cy = 300;
 piPos.x = 350;piPos.y = 300;
 pGOText->Create("Text", siSize, "font1.fnt");
 pGOText->SetText("Hello World!");
 pGOText->MoveTo(piPos);

 //添加文本对象至指定环节下的默认视图的默认场景的默认层下
 m_pCurrentSection->GetGameView()->GetBy("default")->GetBy("default")->Add((IGameObject*)pGOText->QueryInterface(IID_IGameObject, VER_IGameObject), "Text");

 return true;

7.在WinMain函数之上定义OGF框架的全局变量:theGame
 extern GAME_FRAME_CLASS CGameFrameDlg* theGame;

8.在WinMain函数体内添加如下代码:(必须引用OGF框架的GameFrame.h和MyGameBody.h文件)
 //创建GameFrame对象
 theGame = new CGameFrame();
 //创建自定义的游戏主体
 CMyGameBody* pGameBody = new CMyGameBody();

 //设置游戏主体的回调钩子
 theGame->SetGameBodySink((IGameBody *)pGameBody->QueryInterface(IID_IGameBody, VER_IGameBody));
 //启动框架
 theGame->GameStart();

 //注销框架(连带框架内管理的所有对象一起注销,所以游戏主体的指针不需要使用delete删除)
 delete theGame;

 return 0;

9.运行前确保拷贝以下DLL至项目输出目录
 hge.dll
 bass.dll
 ObjectComD.dll
 FrameCom.dll
 ServiceEnginer.dll
 ServiceEnginerD.dll
 GameFrame.dll

10.确保以下资源文件在输出目录中
font1.fnt
font1.png

10.编译并运行项目

运行结果:

posted on 2007-09-10 23:45 lwq49 阅读(1044) 评论(0)  编辑 收藏 引用 所属分类: 开源游戏框架


只有注册用户登录后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
  • 继续放出OGF 0.8.1版的源代码,请多多支持!!!
  • 关于鼠标消息处理机制的调整
  • OGF 0.81 debug版代码发布
  • OGF框架范例11 图形对象及对象的区域
  • OGF开发近况 20070806
  • OGF框架之网络应用(下)
  • OGF框架之网络应用(上)
  • OGF框架范例07 布局器
  • OGF框架范例06 物件动作
  • OGF框架范例05 计时器
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


 
Powered by:
C++博客
Copyright © lwq49