?? 游戲程式設計指南(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 + -