基于opengl的飛行射擊游戲開(kāi)發(fā)與設(shè)計(jì).doc
約50頁(yè)DOC格式手機(jī)打開(kāi)展開(kāi)
基于opengl的飛行射擊游戲開(kāi)發(fā)與設(shè)計(jì),摘 要國(guó)內(nèi)的三維游戲開(kāi)發(fā)技術(shù)正處于趕超國(guó)外的關(guān)鍵時(shí)期,以大型的游戲作為主流。但是,小游戲的制作,還是不斷在擴(kuò)展。大部分的電腦用戶,都是閑暇時(shí)進(jìn)行游戲,所以一個(gè)有樂(lè)趣的小游戲已經(jīng)足夠滿足他們的需求。本游戲的開(kāi)發(fā)目的,就是為了滿足這部分的用戶。大型游戲一個(gè)很重要吸引用戶的地方,是能給用戶擁有自己創(chuàng)造的人物模型,趨于這個(gè)目的...
內(nèi)容介紹
此文檔由會(huì)員 losece 發(fā)布摘 要
國(guó)內(nèi)的三維游戲開(kāi)發(fā)技術(shù)正處于趕超國(guó)外的關(guān)鍵時(shí)期,以大型的游戲作為主流。但是,小游戲的制作,還是不斷在擴(kuò)展。大部分的電腦用戶,都是閑暇時(shí)進(jìn)行游戲,所以一個(gè)有樂(lè)趣的小游戲已經(jīng)足夠滿足他們的需求。
本游戲的開(kāi)發(fā)目的,就是為了滿足這部分的用戶。
大型游戲一個(gè)很重要吸引用戶的地方,是能給用戶擁有自己創(chuàng)造的人物模型,趨于這個(gè)目的,本游戲提供了一個(gè)能給用戶制作人物模型的編輯器,大大吸引了用戶。
游戲和模型編輯器的模型運(yùn)用的是自定義的數(shù)據(jù)結(jié)構(gòu),所以游戲能繪制編輯器編輯出來(lái)的模型。
本游戲是基于OpenGL庫(kù)的運(yùn)用,結(jié)合面向?qū)ο蠓椒ㄩ_(kāi)發(fā)的。
OpenGL定義了一個(gè)跨編程語(yǔ)言、跨平臺(tái)的編程接口的規(guī)格,它用于三維圖象(二維的亦可)。OpenGL是個(gè)專業(yè)的圖形程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫(kù)。OpenGL的英文全稱是“Open Graphics Library”,顧名思義,OpenGL便是“開(kāi)放的圖形程序接口”。OpenGL仍然是唯一能夠取代微軟對(duì)3D圖形技術(shù)的完全控制的API。
通過(guò)利用OpenGL的三維圖形軟件包,深入了解運(yùn)用Visual C++制作一個(gè)擁有可供用戶自行定義游戲關(guān)卡的3D飛行射擊游戲。體現(xiàn)人機(jī)交互。充分運(yùn)用項(xiàng)目開(kāi)發(fā)、面向?qū)ο蟆⑺惴ǖ取?br />
關(guān)鍵詞:OpenGL 游戲 設(shè)計(jì) VisualC++ 飛行射擊
摘 要 I
ABSTRACT II
1 引言 1
1.1系統(tǒng)開(kāi)發(fā)背景 1
1.2項(xiàng)目目的及意義 1
1.3項(xiàng)目技術(shù)要求 2
1.4開(kāi)發(fā)工具及相關(guān)技術(shù)簡(jiǎn)介 2
1.4.1 C++語(yǔ)言 2
1.4.2 OpenGL 3
1.4.3 STL 3
1.4.4 VC++ 5
2 可行性研究 7
2.1技術(shù)可行性 7
2.2經(jīng)濟(jì)可行性 7
2.3操作可行性 7
2.4法律可行性 7
3 需求分析 8
3.1需求分析的重要性 8
3.1.1目標(biāo)游戲要求 8
3.1.2系統(tǒng)運(yùn)行環(huán)境 8
3.1.3系統(tǒng)開(kāi)發(fā)工具 8
3.1.4系統(tǒng)的性能要求 8
3.1.5系統(tǒng)的功能要求 8
3.1.6系統(tǒng)總體功能需求框架 9
3.2系統(tǒng)主要程序流程圖與數(shù)據(jù)流圖 10
3.2.1飛行射擊游戲程序流程圖與數(shù)據(jù)流圖 10
3.2.1.1開(kāi)始游戲程序流程圖與數(shù)據(jù)流圖 10
3.2.1.2模型選擇流程與數(shù)據(jù)流圖 11
3.2.1.3進(jìn)行游戲流程與數(shù)據(jù)流圖 13
3.2.1.4飛行射擊游戲總業(yè)務(wù)流程與數(shù)據(jù)流圖 15
3.2.2模型編輯器譆@絳蛄鞒掏加?xùn)V萘魍?16
4 總體設(shè)計(jì) 18
4.1概述 18
4.2游戲目標(biāo) 19
4.3游戲結(jié)構(gòu)設(shè)計(jì) 19
4.4游戲功能劃分 19
4.4.1游戲子功能劃分 19
4.5游戲功能描述 20
4.5.1開(kāi)始菜單功能描述 20
4.5.2模型選擇功能描述 20
4.5.3進(jìn)行游戲功能描述 20
4.5.3用戶菜單功能描述 21
4.6模型編輯器功能劃分 21
4.7模型編輯器描述 21
5 詳細(xì)設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn) 22
5.1概述 22
5.2游戲的實(shí)施 23
5.2.1主窗口創(chuàng)建(NewShow.cpp) 26
5.2.2 OpenGL窗口創(chuàng)建(OpenGL.h、OpenGL.cpp) 26
5.2.3游戲控制器(Contral.h、Contral.cpp) 26
5.2.4機(jī)體對(duì)象基本類(lèi)(ObjData.h、ObjData.cpp) 26
5.2.5敵機(jī)對(duì)象類(lèi)(ObjBaseData.h、ObjBaseData.cpp) 26
5.2.6敵機(jī)對(duì)象控制器(AiObj.h、AiObj.cpp) 26
5.2.7戰(zhàn)機(jī)對(duì)象控制器(SelfObj.h、SelfObj.cpp) 27
5.2.8子彈對(duì)象類(lèi)(BulletObj.h、BulletObj.cpp) 27
5.2.9子彈對(duì)象控制器(BulletMenager.h、BulletMenager.cpp) 27
5.2.10文件讀取控制器(FioMenager.h、FioMenager.cpp) 27
5.2.11文字顯示類(lèi)(CGLFont.h、CGLFont.cpp) 27
5.2.12火花對(duì)象類(lèi)(Grain.h、Grain.cpp) 27
5.2.13火花對(duì)象控制器(GrainMenager.h、GrainMenager.cpp) 28
5.2.14碰撞檢測(cè)(Hitexamina.h、Hitexamina.cpp) 28
5.2.15模型控制器(modeMenager.h、modeMenager.cpp) 28
5.2.16游戲類(lèi)圖 29
5.3模型編輯器的實(shí)施 30
5.3.1MFC窗口(CMakeFlyModeDlg.h、CMakeFlyModeDlg.cpp) 30
5.3.2OpenGL窗口創(chuàng)建(OpenGL.h、OpenGL.cpp) 30
5.3.3子模型管理(BaseGraphics.h、BaseGraphics.cpp) 30
5.3.4子模型類(lèi)(GraphicsObj.h、GraphicsObj.cpp) 31
5.3.5文件存取控制器(FioMenager.h、FioMenager.cpp) 31
5.3.5模型編輯器類(lèi)圖 31
5.4自定義數(shù)據(jù)結(jié)構(gòu) 31
6 測(cè)試與維護(hù) 33
6.1測(cè)試的任務(wù)及目標(biāo) 33
6.1.1測(cè)試的任務(wù) 33
6.1.2測(cè)試的目標(biāo) 34
6.2測(cè)試方案 34
6.2.1模塊測(cè)試: 34
6.2.3驗(yàn)收測(cè)試 35
6.2.4平行運(yùn)行 35
6.3系統(tǒng)維護(hù) 35
7 特點(diǎn)與技巧 36
7.1游戲特點(diǎn) 36
7.2 代碼技巧 36
參考文獻(xiàn) 37
附 錄 38
謝 辭 45
引言
1.1系統(tǒng)開(kāi)發(fā)背景
軟件系統(tǒng)名稱:飛行射擊游戲
本項(xiàng)目是根據(jù)畢業(yè)設(shè)計(jì)的要求,經(jīng)過(guò)本人實(shí)踐及深思熟慮后提出,結(jié)合所學(xué)知識(shí)所作出的最終決定。
OpenGL(全寫(xiě)Open Graphics Library)是個(gè)定義了一個(gè)跨編程語(yǔ)言、跨平臺(tái)的編程接口的規(guī)格,它用于三維圖象(二維的亦可)。OpenGL是個(gè)專業(yè)的圖形程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫(kù)。OpenGL的前身是SGI公司為其圖形工作站開(kāi)發(fā)的IRIS GL。IRIS GL是一個(gè)工業(yè)標(biāo)準(zhǔn)的3D圖形軟件接口,功能雖然強(qiáng)大但是移植性不好,于是SGI公司便在IRIS GL的基礎(chǔ)上開(kāi)發(fā)了OpenGL。OpenGL的英文全稱是“Open Graphics Library”,顧名思義,OpenGL便是“開(kāi)放的圖形程序接口”。Open GL仍然是唯一能夠取代微軟對(duì)3D圖形技術(shù)的完全控制的API。
參考文獻(xiàn)
[1]譚浩強(qiáng):《C++程序設(shè)計(jì)》[M].第1版. 清華大學(xué)出版社,2004.6
[2]朱少民:《軟件測(cè)試方法和技術(shù)》[M].第1版. 清華大學(xué)出版社,2005.7
[3]施瑞奈爾:《Open GL編程指南》[M].第7版. 機(jī)械工業(yè)出版社,2010.3
[4]安吉爾:《OpenGL編程基礎(chǔ)》[M].第3版. 清華大學(xué)出版社,2008.7
[5]安杰爾:《OpenGL程序設(shè)計(jì)指南》[M].第2版. 清華大學(xué)出版社,2005.5
[6]李普曼:《C++ Primer中文版》[M].第4版. 人民郵電出版社,2008.7
[7]侯俊杰:《深入淺出MFC》[M].第1版. 華中科技大學(xué)出版社,2001.1
[8]董建明:《人機(jī)交互:以用戶為中心的設(shè)計(jì)和評(píng)估》.第1版. 清華大學(xué)出版社,2003.9
[9]張海藩:《軟件工程導(dǎo)論》[M].第4版.北京:清華大學(xué)出版社,2005.7
TA們正在看...
- 人教版五年級(jí)英語(yǔ)上冊(cè)期末試題及答案.doc
- 人教版五年級(jí)語(yǔ)文下冊(cè)知識(shí)要點(diǎn).doc
- 人教版五年級(jí)語(yǔ)文上冊(cè)圓明園的毀滅資料ppt課件.ppt
- 人教版五年級(jí)語(yǔ)文上冊(cè)圓明園的毀滅資料ppt課件54023.ppt
- 人教版五年級(jí)語(yǔ)文上冊(cè)圓明園的毀滅資料教學(xué)設(shè)計(jì).doc
- 人教版五年級(jí)語(yǔ)文上冊(cè)第三組12假如沒(méi)有灰塵資料ppt...ppt
- 人教版五年級(jí)語(yǔ)文上冊(cè)第五單元習(xí)作五.ppt
- 人教版五年級(jí)語(yǔ)文上冊(cè)第八單元習(xí)作八.ppt
- 人教版五年級(jí)語(yǔ)文下冊(cè)教材分析.doc
- 人教版五年級(jí)語(yǔ)文下冊(cè)課內(nèi)閱讀和課外閱讀及答案.doc