⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 游戏程式设计指南(hoho篇) lesson2.htm

📁 游戏程式设计指南
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                  size=1>&nbsp;<BR><IMG border=0 height=224 
                  src="游戏程式设计指南(HoHo篇) Lesson2.files/CreateAPP_9_1.gif" 
                  width=423><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
            <P><FONT face=Arial><FONT face=Arial 
            size=2><BR>  这里我们使用g_bActive来作为标记,如果这个变量值是真,那么当前窗口处于激活状态,否则就是没有激活,消息代码片断如下:<BR><BR></FONT></FONT><FONT 
            color=#99ccff face=宋体 size=2>    case WM_ACTIVATE: // 
            窗口的活動狀態<BR>    {<BR>    &nbsp;&nbsp;&nbsp; 
            switch((LOWORD(wParam)))<BR>    &nbsp;&nbsp;&nbsp; 
            {<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 
            WA_ACTIVE:<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 
            WA_CLICKACTIVE:<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            g_bActive = 
            true;<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            break;<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 
            WA_INACTIVE:<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            g_bActive = 
            false;<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            break;<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            default:<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            break;<BR>    &nbsp;&nbsp;&nbsp; }<BR><BR>    &nbsp;&nbsp;&nbsp; if( 
            GetGraphics() != NULL 
            )<BR>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            GetGraphics()-&gt;Restore();<BR>    }<BR>    break;</FONT><FONT 
            face=Arial><FONT face=Arial size=2><BR> </FONT>
            <DIV align=center>
            <CENTER>
            <TABLE border=1 borderColor=#002846 cellPadding=0 cellSpacing=0 
            id=AutoNumber6 style="BORDER-COLLAPSE: collapse" width="80%">
              <TBODY>
              <TR>
                <TD align=middle bgColor=#001824 width="100%"><FONT 
                  size=2>窗口激活消息</FONT></TD></TR>
              <TR>
                <TD align=middle width="100%"><FONT size=1>&nbsp;<BR><IMG 
                  border=0 height=352 
                  src="游戏程式设计指南(HoHo篇) Lesson2.files/CreateAPP_10.gif" 
                  width=328><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
            <P><FONT size=2>这部分处理只是</FONT><FONT face=Arial 
            size=2>通过消息响应来为g_bActive进行状态的变化,同时会帮你进行DDraw设备的重建,当然,这部分HoHo已经为你做好了,你可以不用考虑这些。现在让我们回头来看看我们的游戏循环,我们需要做一些处理,让我们的程序在最小化(非激活状态)的时候节省点CPU资源,如图:<BR> </FONT>
            <DIV align=center>
            <CENTER>
            <TABLE border=1 borderColor=#002846 cellPadding=0 cellSpacing=0 
            id=AutoNumber7 style="BORDER-COLLAPSE: collapse" width="80%">
              <TBODY>
              <TR>
                <TD align=middle bgColor=#001824 width="100%"><FONT 
                  size=2>游戏循环</FONT></TD></TR>
              <TR>
                <TD align=middle width="100%"><FONT size=2>&nbsp;<BR><IMG 
                  border=0 height=310 
                  src="游戏程式设计指南(HoHo篇) Lesson2.files/CreateAPP_11.gif" 
                  width=451><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
            <P><FONT face=Arial 
            size=2>好了,经过这样的处理,已经可以达到我们的要求,可能有些朋友要问,为什么要加一个Sleep(1)的操作?这里是利用Sleep(1)来将应用程序的进程系统资源占用率返回给系统,你只要打开Windows自带的任务管理器就可以看出两者的差别。<BR><BR><BR><BR></FONT><B><A 
            name=让游戏程序进入全屏方式>让游戏程序进入全屏方式</A></B><FONT face=Arial 
            size=2><BR><BR>  说了半天都是围绕着游戏程序窗口模式的操作,现在我们来考虑一下如何让我们的游戏程序进入全屏状态,真正的游戏状态。使用HoHo要进入全屏模式是相当容易的,还记得Lesson1里面的初始化部分吗?<BR><BR></FONT></FONT></FONT><FONT 
            color=#99ccff face=宋体 size=2>    g_pDisplay = CreatePlane2D( hWnd, 
            800, 600, true );</FONT><FONT face=Arial><FONT face=Arial 
            size=2><BR><BR>  改为:<BR><BR></FONT></FONT><FONT color=#99ccff 
            face=宋体 size=2>    g_pDisplay = CreatePlane2D( hWnd, 800, 600, false 
            );</FONT><FONT face=Arial><FONT face=Arial 
            size=2><BR><BR>是很容易吧!我想应该不需要图例了。 :-)<BR><BR><BR><BR></FONT><B><A 
            name=善尾工作,释放数据>善尾工作,释放数据</A></B><FONT face=Arial 
            size=2><BR><BR>  让机器工作了那么久,应该让它休息一下了,我们程序的退出一定要记得把我们用到的东西还给系统,虽然现在的操作系统会帮你收回,但是保持一个良好的习惯还是非常重要的,现在看看如何把HoHo释放掉。<BR>  找到_tWinMain()函数,或者说是主函数吧,只要在函数的结尾部分加入:<BR><BR></FONT></FONT><FONT 
            color=#99ccff face=宋体 size=2>    SAFE_DELETE( g_pDisplay 
            );</FONT><FONT face=Arial 
            size=2><BR><BR>这样就行了,是不是很简单?执行了这部操作,HoHo会帮助你将所使用的DirectX设备,包括图像的数据资源都会自动释放。<BR><BR><BR>  今天就写到这里,一个初具形态的游戏窗口已经基本上完成了,下一回我们要去了解如何载入并且绘制图像,让我们来美化游戏的面容。<BR><BR>  本教程到目前为止的<A 
            href="http://www.gameres.com/HoHo/Guide/Lesson2.zip">工程文件下载</A>。<BR>  (此档案不包含HoHo游戏引擎库,如若程式无法执行,请根据所使用的HoHo版本附带的DLL库文件替换程式所执行目录中的同名文件。)<BR><BR><BR><BR>Write 
            Date: 2003-08-0</FONT><FONT size=2>3</FONT><FONT face=Arial><FONT 
            face=Arial size=2><BR></FONT><FONT face=宋体 
            size=2>----------------------------------------------------------------<BR></FONT><FONT 
            face=Arial size=2>&nbsp;&nbsp;&nbsp; HoHo游戏引擎下载以及最新资讯请访问 <A 
            href="http://www.gameres.com/HoHo">http://www.gameres.com/HoHo</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            未经许可请勿转载此系列教程,编写:林德辉(Sea_Bug)<BR>&nbsp;&nbsp; Copyright &copy; 
            中国游戏开发资源网(GameRes.com) All Rights reserved</FONT><FONT face=宋体 
            size=2><BR>----------------------------------------------------------------</FONT><FONT 
            face=Arial size=2><BR> </FONT></FONT></P></TD></TR>
        <TR>
          <TD width="100%"> </TD></TR>
        <TR>
          <TD bgColor=#151631 width="100%">
            <P align=right><FONT size=1><A 
            href="http://www.gameres.com/">GameRes</A>&nbsp;&nbsp;</FONT></P></TD></TR>
        <TR>
          <TD width="100%">
            <P align=right>
            <FORM>
            <P align=right><FONT size=1>&nbsp;</FONT><BR><INPUT onclick=window.close() type=button value="关 闭 窗 口"></P></FORM></TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR>
  <TR>
    <TD width="100%">
      <P align=center><BR><FONT face=Arial></FONT><BR><BR><FONT 
      size=2>本站中所有文章以及图形均为作者本人、公司所有,本站所有资讯仅供参考,若有任何损失本站概不负责,请自行斟酌。<BR>Copyright 
      &copy; 2001-200? 中国游戏开发资源网(GameRes.com) All Rights reserved.<BR>This site is 
      optimized for at least 1024x768 resolution (hi-color) viewing with a 
      browser that supports style sheets.<BR>
      <SCRIPT language=JavaScript><!--function SymError(){  return true;}window.onerror = SymError;var SymRealWinOpen = window.open;function SymWinOpen(url, name, attributes){  return (new Object());}window.open = SymWinOpen;//--></SCRIPT>

      <SCRIPT src="游戏程式设计指南(HoHo篇) Lesson2.files/mystat.htm"></SCRIPT>
      <BR> </FONT></P></TD></TR></TBODY></TABLE></FONT>
<SCRIPT 
language=JavaScript><!--window.open = SymRealWinOpen;//--></SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -