📄 游戏程式设计指南(hoho篇).htm
字号:
width=534><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
<P><FONT
size=2> 这里需要说明一下,到这里后我们的应用程序可以说是创建完毕,你只要按下“F5”就可以让程序运行起来,当然,这个只是普通的Win32应用程序,Microsoft已经帮我们做好了一切处理,谢谢Microsoft吧!
待会我们就可以让这个程序变成我们所需要的工程,并且在将来我们的游戏就是要建立在这个工程的基础上。<BR><BR> 看到上面图里我表明了MyGame.cpp和stdafx.h这两个文件吧,这里我们来说明一下这两个文件到底是干什么的,MyGame.cpp这个文件相信你们也能猜得到,这个就是我们程序的主代码文件,里面有WinMain函数等一系列Windows应用程序所需要的信息,记住!我们的游戏也属于Windows应用程序的行列;stdafx.h这个文件是工程的预处理文件,这个文件可是非常重要的,少了它你的工程就无法正常编译通过,它装载了你的程序所需要包含的库文件等一些需要预先处理并且属于整个工程的任何地方都需要用到的东西,哎!这个文件太重要了,一旦修改它,你整个工程就需要重新编译,所以建议一般就放一些不需要经常改动的引用包含。<BR><BR> 到目前为止,我们已经将Win32的应用程序给创建好了,让我们把HoHo真正的引入其中;打开stdafx.h文件,加入下面三句代码:<BR><BR></FONT></FONT><FONT
size=2><FONT color=#99ccff face=宋体> #include
"hCommon.h"
// HoHo的通用包含头文件<BR> #include
"hPlane2D.h"
// HoHo的2D图像模块包含头文件<BR> #pragma
comment(lib,"HoHo.lib")
// HoHo的连接库文件<BR> </FONT></FONT>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColor=#002846 cellPadding=0 cellSpacing=0
id=AutoNumber9 style="BORDER-COLLAPSE: collapse" width="80%">
<TBODY>
<TR>
<TD align=middle bgColor=#001824 width="100%"><FONT face=Arial
size=2>图例</FONT></TD></TR>
<TR>
<TD align=middle width="100%"><FONT face=Arial
size=1> <BR><IMG border=0 height=398
src="游戏程式设计指南(HoHo篇).files/CreateAPP_4.gif"
width=430><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
<P><FONT face=Arial size=2>好了,我们已经完成第一步,是不是感觉很像在使用DirectX
SDK?<BR><BR> 接下来就是开始对MyGame.cpp这个主要的代码文件做个手术,首先是初始化图形设备,找到一支叫
InitInstance() 的函数,在这支函数返回前,将我们的图形初始化代码给加进去,如图:<BR> </FONT>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColor=#002846 cellPadding=0 cellSpacing=0
id=AutoNumber10 style="BORDER-COLLAPSE: collapse" width="80%">
<TBODY>
<TR>
<TD align=middle bgColor=#001824 width="100%"><FONT
size=2>初始化2D图形设备</FONT></TD></TR>
<TR>
<TD align=middle width="100%"><FONT size=1> <BR><IMG
border=0 height=408
src="游戏程式设计指南(HoHo篇).files/CreateAPP_5.gif"
width=507><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
<P><FONT face=Arial
size=2> 接下来让我们修改一下这个应用程序的循环部分,让它的循环能够适应我们游戏循环的需要,找到 _tWinMain()
函数,不要问我为什么WinMain函数前面还有个_t,反正这支函数就是我们程序的入口,也就相当于是Dos下C语言的main()函数;好了,我们要大刀阔斧的修改者至函数的循环部分,最简单的方法就用把下面的代码段覆盖原有的循环代码,代码段如下:<BR><BR></FONT></FONT><FONT
color=#99ccff face=宋体 size=2> // 主消息循环:<BR> while ( 1 )
<BR> {<BR> if( PeekMessage( &msg, NULL,
0, 0, PM_NOREMOVE ) )<BR>
{<BR> if( !GetMessage(
&msg, NULL, 0, 0 )
)<BR>
{<BR>
break;<BR>
}<BR>
TranslateMessage( &msg );
<BR> DispatchMessage(
&msg );<BR>
}<BR><BR> GetGraphics()->ClearScreenMMX(0);
// 用黑色清屏<BR><BR>
GetGraphics()->UpdateScreen( ); //
更新屏幕缓冲<BR> GetGraphics()->Present(
); //
DDraw更新屏幕<BR> }</FONT><FONT face=Arial><FONT face=Arial
size=2><BR><BR> </FONT>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColor=#002846 cellPadding=0 cellSpacing=0
id=AutoNumber11 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> <BR><IMG
border=0 height=435
src="游戏程式设计指南(HoHo篇).files/CreateAPP_6.gif"
width=469><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
<P><FONT face=Arial
size=2>这里就是传说中的游戏循环部分,实际上游戏在执行当中就是不停的进行循环,不停的刷新屏幕,这也就有了FPS(刷新速度)的概念,评价一个图形引擎好坏经常用到的指标,也就是每秒钟这种刷新能达到多少次。<BR><BR> 好了,现在你按下“F7”来编译程序,对了,别忘记了,把下载HoHo包里的HoHo.DLL文件拷贝到你的游戏程序执行目录中,不要告诉我你找不到VC工程所编译出来的执行文件放在哪个文件夹中,否则你的程序是运行不起来的,会告诉你缺少hoho.dll动态库文件。现在总算能够运行我们的程序了,按“F5”看看,我们可以看到我们的应用程序窗口变成黑色,并且左上角会有一个“FPS=XX”的绿色字样,如果你看到这些,那证明你已经完成了最基本的初始化工作了,是不是觉得很简单? :-)<BR><BR><BR><BR><BR>Write
Date: 2003-08-02<BR></FONT></FONT></FONT><FONT face=宋体
size=2>----------------------------------------------------------------<BR></FONT><FONT
face=Arial size=2> HoHo游戏引擎下载以及最新资讯请访问 <A
href="http://www.gameres.com/HoHo">http://www.gameres.com/HoHo</A><BR>
未经许可请勿转载此系列教程,编写:林德辉(Sea_Bug)<BR> Copyright ©
中国游戏开发资源网(GameRes.com) All Rights reserved</FONT><FONT face=宋体
size=2><BR>----------------------------------------------------------------</FONT><FONT
face=Arial><BR> </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> </FONT></P></TD></TR>
<TR>
<TD width="100%">
<P align=right>
<FORM>
<P align=right><FONT size=1> </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
© 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篇).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 + -