計算機(jī)圖形學(xué)二維彈球?qū)嶒?yàn)報告范文_第1頁
計算機(jī)圖形學(xué)二維彈球?qū)嶒?yàn)報告范文_第2頁
計算機(jī)圖形學(xué)二維彈球?qū)嶒?yàn)報告范文_第3頁
計算機(jī)圖形學(xué)二維彈球?qū)嶒?yàn)報告范文_第4頁
計算機(jī)圖形學(xué)二維彈球?qū)嶒?yàn)報告范文_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機(jī)圖形學(xué)二維彈球?qū)嶒?yàn)報告范文實(shí)驗(yàn)一、二維彈球游戲設(shè)計一、實(shí)驗(yàn)?zāi)康呐c基本要求:(1)掌握在VS2022或以上版本環(huán)境下如何配置OpenGL環(huán)境的方法;(2)熟悉OpenGL應(yīng)用程序基本架構(gòu);(3)培養(yǎng)良好的編程習(xí)慣和風(fēng)格,學(xué)習(xí)撰寫實(shí)驗(yàn)報告;(4)學(xué)習(xí)交互式游戲設(shè)計;(5)通過小球移動、反彈、擊中等功能實(shí)現(xiàn)學(xué)習(xí)二維幾何的基本運(yùn)算;(6)菜單的使用。二、實(shí)驗(yàn)設(shè)備(環(huán)境)及要求1.操作系統(tǒng):Window某P或Window72.編程環(huán)境:MicrooftViualStudio2022,OpenGL庫函數(shù)3.界面框架:Win32,MFC,QT選擇其中一種三、實(shí)驗(yàn)內(nèi)容與步驟實(shí)驗(yàn)分為以下幾個步驟:1.繪制游戲界面和基礎(chǔ)物體(小球、擋板)2.實(shí)現(xiàn)小球的發(fā)射及方向的控制3.實(shí)現(xiàn)小球與墻壁和擋板、擋板與墻壁的碰撞算法4.實(shí)現(xiàn)鍵盤控制的擋板移動5.菜單游戲介紹及難度等級的選擇附加功能:1.磚塊的繪制和與小球的碰撞2.磚塊的消失3.文字標(biāo)識的游戲的輸贏4.增加了小球的生命數(shù)以及血量條5.增加了背景圖案的變化和背景顏色的切換四、實(shí)現(xiàn)過程說明及成果展示:1.繪制游戲界面和基礎(chǔ)物體(小球、擋板)游戲界面的繪制使用畫面單位的長和寬與畫面比例相乘得到小球的繪制和擋板的繪制函數(shù)為運(yùn)用了2.實(shí)現(xiàn)小球的發(fā)射和方向控制小球的初始方向設(shè)置為向量(1,1)的方向,其某軸和y軸的方向分別用數(shù)組分開存儲:ballDir[0]表示某軸,ballDir[1]表示y軸3.實(shí)現(xiàn)小球與墻壁和擋板、擋板與墻壁的碰撞算法小球與墻壁的碰撞和擋板相似,以擋板為例:小球的坐標(biāo)處設(shè)置為球心坐標(biāo),故其與擋板的碰撞位置判斷時需要加上小球的半徑當(dāng)小球與擋板的上部碰撞時:小球位置應(yīng)在擋板的左右橫坐標(biāo)之間,當(dāng)小球球心位置+小球半徑<擋板上沿并且小球位置>擋板下沿(保證球不會穿過擋板)時,小球的則不能繼續(xù)穿過擋板,(為了實(shí)現(xiàn)小球鏡面反射式的碰撞)則小球的水平速度不變,豎直速度反向,實(shí)現(xiàn)代碼如下:繪制小球?qū)Ρ纫陨戏绞?,小球與擋板側(cè)面發(fā)生碰撞時,只需小球的豎直速度不變,水平速度反向即可。小球與墻壁的碰撞方式與小球與擋板的類似。4.實(shí)現(xiàn)鍵盤控制的擋板移動擋板的方向設(shè)置為三個,0為靜止,1為向右,-1為向左,分別用A和D控制左右:5.菜單游戲介紹及難度等級的選擇在菜單中,實(shí)現(xiàn)了游戲說明,以及難度等級的選擇,實(shí)現(xiàn)結(jié)果如下圖所示:五、附加功能的實(shí)現(xiàn):1.磚塊的繪制、與小球的碰撞和磚塊的消失磚塊的存儲運(yùn)用了數(shù)組,存儲了磚塊的四個頂點(diǎn)坐標(biāo),并利用循環(huán)畫出,對于磚塊的碰撞與前面的小球與擋板的碰撞判斷方式相似,這里就不再復(fù)述了,對于磚塊的消失,運(yùn)用了一個的來進(jìn)行標(biāo)識,小球每次與磚塊發(fā)生碰撞,則變?yōu)閠rue,繪制時此磚塊就不再畫出,具體實(shí)現(xiàn)代碼如下:顯示結(jié)果如下:2.畫面背景的五角星裝飾,以及運(yùn)用五角星的消隱來顯示生命值的剩余五角星的繪制也是運(yùn)用了數(shù)組存儲,其消隱運(yùn)用了changecolor每次加一定大小的值來改變五角星的顏色,從而在生命值耗盡時,五角星顏色變成背景顏色實(shí)現(xiàn)五角星的消失,實(shí)現(xiàn)代碼如下:3.文字標(biāo)識的游戲的輸贏在游戲開始前,畫面顯示為ready,當(dāng)生命值耗盡時,顯示為loe;當(dāng)磚塊打完,顯示為win,實(shí)現(xiàn)結(jié)果如下:4.增加了小球的生命數(shù)以及血量條利用循環(huán),小球每碰到地面一次,則血條長度減去一定值,實(shí)現(xiàn)代碼如下:具體顯示結(jié)果如下:5.增加了背景圖案的變化和背景顏色的切換五角星的顏色會隨著生命值的減少而逐漸褪去,生命耗盡時五角星會消失,實(shí)現(xiàn)方式上面已述:背景顏色的切換運(yùn)用了,實(shí)現(xiàn)效果如下:六、總結(jié)與體會:彈球游戲的開發(fā)使我鞏固了計算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論