1、 目前一般的大型商業(yè)游戲軟件開(kāi)發(fā)模式,大多采用Visual C++程序開(kāi)發(fā)工具與Windows API(Application Program Interface)程序架構(gòu)來(lái)編寫(xiě)以提高游戲程序運(yùn)行時(shí)的效率。
2、 C++是擁有著優(yōu)良傳統(tǒng)的程序語(yǔ)言,而VC++則是微軟公司開(kāi)發(fā)出的一套適用于C/C++語(yǔ)法的程序開(kāi)發(fā)工具。在VC++開(kāi)發(fā)環(huán)境中,編寫(xiě)Windows操作系統(tǒng)平臺(tái)的窗口程序有兩種不同的程序架構(gòu):一種是微軟在VC++中所加入的MFC(Microsoft Foundation Class library)架構(gòu),MFC是一個(gè)龐大的類(lèi)型函數(shù)庫(kù),其中提供了完整開(kāi)發(fā)窗口程序所需的對(duì)象類(lèi)型與函數(shù),常用于設(shè)計(jì)一般的應(yīng)用軟件程序;另一種是本書(shū)所介紹的Windows API架構(gòu),使用Windows API來(lái)開(kāi)發(fā)上述的應(yīng)用軟件程序并不容易,但用在設(shè)計(jì)游戲程序上卻相當(dāng)簡(jiǎn)單且具有較優(yōu)越的運(yùn)行性能。
3、 VC++在游戲程序開(kāi)發(fā)上所具備的優(yōu)點(diǎn)
3.1優(yōu)越的速度表現(xiàn)
C++程序編譯后的文件是可直接運(yùn)行的機(jī)器碼,而其他程序語(yǔ)言(如VB和Java)編譯后產(chǎn)生的是一種所謂的“中間碼”。運(yùn)行中間碼時(shí),系統(tǒng)內(nèi)必須存在解釋該程序語(yǔ)言的“解釋器(Interpreter)”,用做同步翻譯工作。解釋器解釋中間碼時(shí),本身會(huì)加載到內(nèi)存中占用部分內(nèi)存,且同步翻譯中間碼的過(guò)程也會(huì)浪費(fèi)時(shí)間,因此,運(yùn)行這類(lèi)程序時(shí)要比可直接運(yùn)行的機(jī)器碼緩慢很多。
3.2彈性管理資源與內(nèi)存
在VC++的開(kāi)發(fā)環(huán)境中,程序資源及內(nèi)存管理方面都具有相當(dāng)?shù)膹椥浴?/span>
在資源管理部分,通常是通過(guò)一個(gè)句柄來(lái)使用該項(xiàng)資源。這里所指的資源,可能是窗口、設(shè)備、圖像和聲音等對(duì)象。
在內(nèi)存管理部分,C/C++語(yǔ)言本身就具備內(nèi)存管理的功能,除了可通過(guò)指針進(jìn)行內(nèi)存的存取和配置之外,還提供了完整的內(nèi)存管理相關(guān)函數(shù)。
由于游戲程序使用了大量的多媒體數(shù)據(jù),運(yùn)行時(shí)會(huì)占用不少內(nèi)存,因此,若程序設(shè)計(jì)師能夠彈性有效地來(lái)管理資源和內(nèi)存,將可大大降低硬件要求并提高游戲程序本身的性能。
3.3易于使用Windows API
Windows API是Windows操作系統(tǒng)提供的動(dòng)態(tài)鏈接函數(shù)庫(kù)(通常以“.DLL”的文件格式存在于Windows系統(tǒng)中),Windows API中包含了Windows的內(nèi)核及所有應(yīng)用程序所需要的功能。
Windows操作系統(tǒng)發(fā)展至今,Windows API主要可分為Win16(Windows 3.1以前)以及Win32(Windows 95以后)兩種版本,不同版本Windows系統(tǒng)間API的內(nèi)容或多或少有些差異但都以向下兼容為原則。
一般在VB程序中,要調(diào)用Windows API的函數(shù),必須先完成聲明的操作。但在VC++開(kāi)發(fā)環(huán)境下,不論采用MFC還是Windows API的程序架構(gòu),只要在項(xiàng)目中設(shè)定好所要鏈接的函數(shù)庫(kù)并引用正確的頭文件,那么在程序中使用Windows API的函數(shù)就跟使用C/C++標(biāo)準(zhǔn)函數(shù)庫(kù)一樣容易。
(動(dòng)態(tài)鏈接(Dynamic Linking)是指在程序運(yùn)行階段,真正調(diào)用外部函數(shù)時(shí)才進(jìn)行鏈接(注:將程序代碼中調(diào)用函數(shù)的指針指向外部函數(shù)所在的地址)的操作)
4、 構(gòu)建游戲設(shè)計(jì)的舞臺(tái)(單擊其鏈接可進(jìn)入相應(yīng)的隨筆)
5、 程序架構(gòu)說(shuō)明(單擊其鏈接可進(jìn)入相應(yīng)的隨筆)
PS:如想獲得更多關(guān)于Visual C++游戲開(kāi)發(fā)的內(nèi)容,可點(diǎn)擊隨筆:《Visual C++游戲編程基礎(chǔ)》學(xué)習(xí)筆記——索引隨筆。