這篇教程將介紹如何用Galaxy2D游戲引擎構(gòu)建一個(gè)最基礎(chǔ)的應(yīng)用程序。
首先設(shè)置編譯環(huán)境:
1. 新建一個(gè)Win32項(xiàng)目,打開Galaxy2D引擎目錄,復(fù)制engine到當(dāng)前項(xiàng)目目錄下。
2. 在項(xiàng)目屬性選項(xiàng)卡中的“附加包含目錄”中加入引擎頭文件目錄"engine/inc"。
3. 在“附加依賴項(xiàng)”中加入"engine/lib/galaxy2d.lib"。
4. 復(fù)制動(dòng)態(tài)鏈接庫"engine/lib/galaxy2d.dll"至工作目錄。
接下來在當(dāng)前工程新建一個(gè)main.cpp文件,把下面內(nèi)容添加進(jìn)去:
如果編譯成功運(yùn)行該程序?qū)?huì)在屏幕中間顯示一個(gè)白色的方塊,現(xiàn)在我們回顧一下前面的代碼,看看Galaxy2D游戲引擎是如何運(yùn)作的。
在WinMain()函數(shù)中首先調(diào)用Engine_Create()函數(shù),這個(gè)函數(shù)將初始化游戲引擎運(yùn)行環(huán)境以及進(jìn)行一些基礎(chǔ)檢測。之后調(diào)用System_SetState()函數(shù)設(shè)置了一些引擎運(yùn)行狀態(tài),這些狀態(tài)后面會(huì)講到,然后就可以調(diào)用System_Initiate()進(jìn)行引擎初始化。如果引擎初始化成功調(diào)用System_Start()函數(shù),至此游戲引擎才真正開始運(yùn)作。最后,在游戲引擎關(guān)閉時(shí)必須調(diào)用Engine_Release()做一些清理工作。
在引擎初始化之前我們?cè)O(shè)置了三個(gè)狀態(tài),首先是“GGE_TITLE”,這個(gè)狀態(tài)設(shè)置的是程序標(biāo)題欄文字;然后是“GGE_FRAMEFUNC”,這個(gè)狀態(tài)設(shè)置幀函數(shù),也就是游戲的主循環(huán);最后是“GGE_FPS”,這個(gè)狀態(tài)告訴引擎主循環(huán)將以30fps的幀率運(yùn)行,減小CPU占用率。需要注意的是“GGE_FRAMEFUNC”和“GGE_FPS”是可以在運(yùn)行時(shí)更改的,而“GGE_TITLE”一旦系統(tǒng)初始化完畢就無法更改了,詳細(xì)信息可以查看引擎文檔。
為了在屏幕中間畫一個(gè)白色的方塊,在幀函數(shù)Frame()里做了如下工作。首先調(diào)用Graph_BeginScene()函數(shù)告訴引擎要開始畫東西了,如果該函數(shù)返回true表示引擎已準(zhǔn)備好,接下來調(diào)用Graph_Clear()清屏,然后用Graph_RenderQuad()函數(shù)畫矩形,最后調(diào)用Graph_EndScene()告訴引擎東西全都畫完了。
Powered by: C++博客 Copyright © 劍孤寒