﻿<?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/zdhsoft/category/11852.html</link><description>不能停止的脚步</description><language>zh-cn</language><lastBuildDate>Thu, 04 Feb 2010 18:05:53 GMT</lastBuildDate><pubDate>Thu, 04 Feb 2010 18:05:53 GMT</pubDate><ttl>60</ttl><item><title>HGE 注释:_init_lost</title><link>http://www.cppblog.com/zdhsoft/archive/2010/02/04/107158.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Thu, 04 Feb 2010 03:36:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2010/02/04/107158.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/107158.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2010/02/04/107158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/107158.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/107158.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: HGE的构造过程终于快完了。<br>这个函数之后，其他的函数，都比较好理解。&nbsp;&nbsp;<a href='http://www.cppblog.com/zdhsoft/archive/2010/02/04/107158.html'>阅读全文</a><img src ="http://www.cppblog.com/zdhsoft/aggbug/107158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2010-02-04 11:36 <a href="http://www.cppblog.com/zdhsoft/archive/2010/02/04/107158.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE的坐标转换函数注释说明_SetProjectionMatrix</title><link>http://www.cppblog.com/zdhsoft/archive/2010/02/03/107119.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Wed, 03 Feb 2010 10:15:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2010/02/03/107119.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/107119.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2010/02/03/107119.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/107119.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/107119.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这部分虽然只有少数几行，由于我的数学全丢给老师了，结果这里是我花时间最多的地方。<br>数学没学好，还真麻烦！&nbsp;&nbsp;<a href='http://www.cppblog.com/zdhsoft/archive/2010/02/03/107119.html'>阅读全文</a><img src ="http://www.cppblog.com/zdhsoft/aggbug/107119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2010-02-03 18:15 <a href="http://www.cppblog.com/zdhsoft/archive/2010/02/03/107119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE中BASS.dll的License</title><link>http://www.cppblog.com/zdhsoft/archive/2010/02/02/106998.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Tue, 02 Feb 2010 02:06:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2010/02/02/106998.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/106998.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2010/02/02/106998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/106998.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/106998.html</trackback:ping><description><![CDATA[HGE使用的bass.dll来处理音效。对于非商业用途，这个是免费的。但对于商业用途，将要收费。收费单位是英磅。<br>它的网站是：http://www.un4seen.com/<br>如果你使用HGE开发游戏，那就要注意了。<br>下面是它的license说明<br>
<table width="100%" align="center" cellpadding="1" cellspacing="8">
    <tbody>
        <tr>
            <td colspan="2">BASS is free for non-commercial use. If you are a
            non-commercial entity (eg. an individual) and you are not charging for
            your product, and the product has no other commercial purpose, then you
            can use BASS in it for free. Otherwise, you will require one of the
            following licences.</td>
        </tr>
        <tr>
            <td valign="top"><a  href="https://secure.shareit.com/shareit/checkout.html?productid=202725" target="_blank"><img  src="http://www.un4seen.com/_/ico_register_win.gif" alt="purchase -
            win32" title="purchase - win32" width="75" height="23"></a><br><a  href="https://secure.shareit.com/shareit/checkout.html?productid=300043344" target="_blank"><img  src="http://www.un4seen.com/_/ico_register_osx.gif" alt="purchase -
            macosx" title="purchase - macosx" width="75" height="23"></a></td>
            <td><a><strong>Shareware
            licence: €100</strong></a><br>The "shareware" licence allows the usage of
            BASS in an unlimited number of your shareware products, which must sell
            for no more than 40 Euros each. If you're an individual (not a
            corporation) making and selling your own software (and its price is
            within the limit), this is the licence for you.</td>
        </tr>
        <tr>
            <td valign="top"><a  href="http://www.un4seen.com/license.php?l=0"><img  src="http://www.un4seen.com/_/ico_register.gif" alt="purchase" title="purchase" width="75" height="23"></a></td>
            <td><a><strong>Single
            Commercial licence: €950</strong></a><br>The "single commercial" licence
            allows the usage of BASS in a single commercial product.</td>
        </tr>
        <tr>
            <td valign="top"><a  href="http://www.un4seen.com/license.php?l=1"><img  src="http://www.un4seen.com/_/ico_register.gif" alt="purchase" title="purchase" width="75" height="23"></a></td>
            <td><a><strong>Unlimited
            Commercial licence: €2450</strong></a><br>The "unlimited commercial" licence
            allows the usage of BASS in an unlimited number of your commercial
            products. This licence applies to a single site/location.</td>
        </tr>
        <tr>
            <td colspan="2" style="font-size: 10px;" align="center">note
            that all prices are quoted in Euros, but payment can also be made in
            several other currencies</td>
        </tr>
        <tr>
            <td colspan="2">These licences are on a per-platform basis.
            There is a 20% reduction when purchasing a licence for both platforms,
            eg. the Shareware licences are €160 instead of €200.</td>
        </tr>
        <tr>
            <td colspan="2">In all cases there are no royalties to pay and
            you can use future BASS updates without further cost.
            Reselling/sublicensing is not permitted. Your products must be end-user
            products, eg. not components used by other products. Please note that
            these licences only cover your own software, not the publishing of
            other's software. If you have got any questions, please <a  href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#98;&#97;&#115;&#115;&#64;&#117;&#110;&#52;&#115;&#101;&#101;&#110;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#66;&#65;&#83;&#83;&#37;&#50;&#48;&#108;&#105;&#99;&#101;&#110;&#99;&#101;&#37;&#50;&#48;&#101;&#110;&#113;&#117;&#105;&#114;&#121;" class="link">get in
            touch</a>.</td>
        </tr>
    </tbody>
</table>
<br><br><img src ="http://www.cppblog.com/zdhsoft/aggbug/106998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2010-02-02 10:06 <a href="http://www.cppblog.com/zdhsoft/archive/2010/02/02/106998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE的_Gfx_Init注释</title><link>http://www.cppblog.com/zdhsoft/archive/2010/02/02/106994.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Tue, 02 Feb 2010 01:51:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2010/02/02/106994.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/106994.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2010/02/02/106994.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/106994.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/106994.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: HGE的_Gfx_Init注释.这个部分，是HGE在初始化D3D的过程。包括了窗口方式和全屏方式的初始化。&nbsp;&nbsp;<a href='http://www.cppblog.com/zdhsoft/archive/2010/02/02/106994.html'>阅读全文</a><img src ="http://www.cppblog.com/zdhsoft/aggbug/106994.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2010-02-02 09:51 <a href="http://www.cppblog.com/zdhsoft/archive/2010/02/02/106994.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE 一些图元渲染注释</title><link>http://www.cppblog.com/zdhsoft/archive/2010/02/01/106950.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Mon, 01 Feb 2010 09:09:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2010/02/01/106950.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/106950.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2010/02/01/106950.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/106950.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/106950.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: HGE 一些图元渲染注释<br>Gfx_RenderLine和_render_batch&nbsp;&nbsp;<a href='http://www.cppblog.com/zdhsoft/archive/2010/02/01/106950.html'>阅读全文</a><img src ="http://www.cppblog.com/zdhsoft/aggbug/106950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2010-02-01 17:09 <a href="http://www.cppblog.com/zdhsoft/archive/2010/02/01/106950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE 初始化函数注释:System_Initiate</title><link>http://www.cppblog.com/zdhsoft/archive/2010/02/01/106945.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Mon, 01 Feb 2010 07:38:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2010/02/01/106945.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/106945.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2010/02/01/106945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/106945.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/106945.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: HGE 初始化函数注释:System_Initiate&nbsp;&nbsp;<a href='http://www.cppblog.com/zdhsoft/archive/2010/02/01/106945.html'>阅读全文</a><img src ="http://www.cppblog.com/zdhsoft/aggbug/106945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2010-02-01 15:38 <a href="http://www.cppblog.com/zdhsoft/archive/2010/02/01/106945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HGE核心函数注释</title><link>http://www.cppblog.com/zdhsoft/archive/2009/09/19/HGE.html</link><dc:creator>冬瓜</dc:creator><author>冬瓜</author><pubDate>Sat, 19 Sep 2009 15:35:00 GMT</pubDate><guid>http://www.cppblog.com/zdhsoft/archive/2009/09/19/HGE.html</guid><wfw:comment>http://www.cppblog.com/zdhsoft/comments/96737.html</wfw:comment><comments>http://www.cppblog.com/zdhsoft/archive/2009/09/19/HGE.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/zdhsoft/comments/commentRss/96737.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zdhsoft/services/trackbacks/96737.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #000000">因为项目的原因，需要用游戏引擎HGE，于是分析了一下。<br><br>总结：简单有效，但也过于简单了，下面是System_Start的注释！<br><br></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;CALL&nbsp;HGE_Impl::System_Start()<br><br>{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;MSG&nbsp;&nbsp;&nbsp;&nbsp;msg;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;POINT&nbsp;&nbsp;pt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;RECT&nbsp;&nbsp;&nbsp;rc;<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">hwnd)&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果系统没有初始化</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_PostError(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">System_Start:&nbsp;System_Initiate&nbsp;wasn't&nbsp;called</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">procFrameFunc)&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果帧函数，没有实现</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_PostError(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">System_Start:&nbsp;No&nbsp;frame&nbsp;function&nbsp;defined</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;bActive</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">HGE进入活动状态</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(;;)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">hwndParent)&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果没有父句柄</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(PeekMessage(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">msg,NULL,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,PM_REMOVE))<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(msg.message&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;WM_QUIT)&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;TranslateMessage(&amp;msg);</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DispatchMessage(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">msg);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">continue</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取光标的位置,这个光标是屏</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetCursorPos(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">pt);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取客户端区域</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(hwnd,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rc);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当光标切换为当前窗口所对应的坐标</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MapWindowPoints(hwnd,&nbsp;NULL,&nbsp;(LPPOINT)</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rc,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">判断鼠标是否在当前窗口</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(bCaptured&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;(PtInRect(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rc,&nbsp;pt)&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;WindowFromPoint(pt)</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">hwnd))&nbsp;bMouseOver</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;bMouseOver</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//<br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(bActive&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;bDontSuspend)&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">do</span><span style="COLOR: #000000">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;timeGetTime()&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;t0;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">t0以来经过的毫秒数,要确定要超过ms退出(相当于等待ms)</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(dt&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;dt&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;nFixedDelta&nbsp;)&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果到了帧的时间</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fDeltaTime&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dt&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1000.0f</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;fDeltaTime&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.2f</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果超过.2秒</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(nFixedDelta)&nbsp;fDeltaTime&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;nFixedDelta</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">1000.0f</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;fDeltaTime&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.01f</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fTime&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;fDeltaTime;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">累计游戏的时间</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t0&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;timeGetTime();&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当前帧处理的时间</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;t0&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;t0fps&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">)&nbsp;cfps</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">小于毫秒时，帧数加</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果超过毫秒时</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nFPS&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cfps;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">设置当前秒帧计数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cfps&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">计数器清</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t0fps&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;t0;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">重设计数时间</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;procFrameFunc()&nbsp;)&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">执得帧</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;procRenderFunc&nbsp;)&nbsp;procRenderFunc();&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果有渲染，则执得渲染</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;hwndParent&nbsp;)&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ClearQueue();<br><br>&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">bWindowed&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;nHGEFPS&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;HGEFPS_VSYNC)&nbsp;Sleep(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(nFixedDelta&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;dt</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;nFixedDelta)&nbsp;Sleep(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;Sleep(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;_ClearQueue();&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">清除没有处理的事件</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;bActive</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><br>}<br><br><br>本文来自CSDN博客，转载请标明出处：http:</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">blog.csdn.net/zdhsoft/archive/2009/04/24/4106748.aspx</span></div>
<img src ="http://www.cppblog.com/zdhsoft/aggbug/96737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zdhsoft/" target="_blank">冬瓜</a> 2009-09-19 23:35 <a href="http://www.cppblog.com/zdhsoft/archive/2009/09/19/HGE.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>