﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-C++优雅之旅-随笔分类-HGE</title><link>http://www.cppblog.com/eros/category/6774.html</link><description>探索C++</description><language>zh-cn</language><lastBuildDate>Fri, 30 May 2008 02:48:16 GMT</lastBuildDate><pubDate>Fri, 30 May 2008 02:48:16 GMT</pubDate><ttl>60</ttl><item><title>编译WoWRL</title><link>http://www.cppblog.com/eros/archive/2008/04/23/47864.html</link><dc:creator>eros</dc:creator><author>eros</author><pubDate>Tue, 22 Apr 2008 19:48:00 GMT</pubDate><guid>http://www.cppblog.com/eros/archive/2008/04/23/47864.html</guid><wfw:comment>http://www.cppblog.com/eros/comments/47864.html</wfw:comment><comments>http://www.cppblog.com/eros/archive/2008/04/23/47864.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/eros/comments/commentRss/47864.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/eros/services/trackbacks/47864.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;<span style="FONT-FAMILY: 微软雅黑">刚开始学习HGE,在浏览完引擎自带的例子程序后，总觉得有些意犹未尽,偶然间看到一个开源的HGE项目,WoWRL。<br>&nbsp;&nbsp;&nbsp;&nbsp;WoWRL是一个完整HGE引擎应用演示，并且包含XML和LUA脚本在游戏中应用，对此我很感兴趣。在官网Down得源码之后，第一件事就是想要进行编译，以便跟踪调试来进行学习。<br>&nbsp;&nbsp;&nbsp; 下载下来的压缩包解压后就双击WoWRL目录下的WoWRL.exe可以直接运行查看效果，源码在执行文件根目录下的sources文件夹里。开始的时候不知道WoWRL是用啥开发环境开发的，后来看到源文件夹根目录下有一个.workspace的文件，用记事本打开一看，里面有相关信息，了解到这是Code::Block的工程文件。于是去下载了一个最新版本的Code::Block。打开工程直接进行Build，一下子有35个错误，全都是提示Direct3D9相关的接口重定义，查看错误输出全部定位到了MinGW目录下的dx9.h头文件，百思不得其解，搞得焦头烂额，后来想起WoWRL本身带有一个dx9.h文件，或许是冲突了？于是把MinGW目录下的dx9.h移了个地方。再进行Build，这次顺利编译成功，可以开始学习了:).</span> 
<img src ="http://www.cppblog.com/eros/aggbug/47864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/eros/" target="_blank">eros</a> 2008-04-23 03:48 <a href="http://www.cppblog.com/eros/archive/2008/04/23/47864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE学习笔记(序)--HGE开发最小环境</title><link>http://www.cppblog.com/eros/archive/2008/04/18/47458.html</link><dc:creator>eros</dc:creator><author>eros</author><pubDate>Thu, 17 Apr 2008 16:55:00 GMT</pubDate><guid>http://www.cppblog.com/eros/archive/2008/04/18/47458.html</guid><wfw:comment>http://www.cppblog.com/eros/comments/47458.html</wfw:comment><comments>http://www.cppblog.com/eros/archive/2008/04/18/47458.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/eros/comments/commentRss/47458.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/eros/services/trackbacks/47458.html</trackback:ping><description><![CDATA[<p dir=ltr style="FONT-FAMILY: 微软雅黑">1.先声明一个HGE引擎指针hge;</p>
<p dir=ltr style="FONT-FAMILY: 微软雅黑">2.调用hgeCreate(HGE_VERSION)得到HGE引擎指针.</p>
<p dir=ltr style="FONT-FAMILY: 微软雅黑">3.设置引擎状态值,hge-&gt;System_SetState()函数通过多次重载,可以设置多重状态(窗口标题, 窗口大小等).这里很重要的是设置更新帧函数System_SetState(HGE_FRAMEFUNC, FrameFunc)，FrameFunc是自定义的函数, 每一帧都会被引擎调用，一般把游戏循环放在这里.另外绘<br>图时要设置渲染帧函数System_SetState(HGE_RENDERFUNC, RenderFunc)。RenderFunct也是自定义的函数，用来每一帧进更新图像, 绘图<br>代码放在这里.在开始绘图工作前，必须先调用Gfx_BeginScene()，紧接着Gfx_Clear()用来进行清屏,可传入一个32位的颜色值.绘图结束后<br>要调用Gfx_EndScene()</p>
<p dir=ltr style="FONT-FAMILY: 微软雅黑">4.设置好状态后，就可以调用System_Initiate()函数进行引擎的初始化, 初始化成功后,调用System_Start(),引擎就开始工作了.</p>
<p dir=ltr style="FONT-FAMILY: 微软雅黑">5.当初始化失败或用户关闭程序时,就要清理引擎分配的资源,需要调用System_Shutdown()，然后释放引擎指针, hge-&gt;Release();<br><br><br></p>
<img src ="http://www.cppblog.com/eros/aggbug/47458.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/eros/" target="_blank">eros</a> 2008-04-18 00:55 <a href="http://www.cppblog.com/eros/archive/2008/04/18/47458.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>