freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于opengles的iphone游戲的設計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2024-07-15 17:10 本頁面
 

【文章內容簡介】 ,然后選C++ File。分別給這兩個類取名為:DGSprite,DiceGameApp。 游戲流程框圖 搖色子游戲的實現(xiàn)主要包含兩個操作:游戲初始界面的顯示,開始游戲時的界面顯示。 。 初始界面顯示流程圖Figure Flowchart of the initial screen 。 開始游戲時界面顯示流程圖Figure Flowchart of the interface of the starting game 游戲DGSprite類的實現(xiàn),因為畫圖類是基于OpenGL的,需要用到其中的接口函數(shù),所以該文件中需要包含OpenGL的頭文件。另外要創(chuàng)建一個畫圖類DGSprite,代碼如下:class DGSprite{public: DGSprite(GLuint textId, float textContWidth, float textContHeight, float textWidth, float textHeight)。 //構造函數(shù) ~DGSprite()。 //析構函數(shù) void rend(float x, float y)。 //畫圖函數(shù)private: //定義幾個私有屬性值,用來存儲圖像參數(shù) GLuint mTextId。 //用來存儲圖片紋理數(shù)據(jù)ID float mTextContWidth。 //用來存儲紋理圖片的寬度值 float mTextContHeight。 //用來存儲紋理圖片的高度值 float mTextWidth。 //用來存儲紋理數(shù)據(jù)的寬度值 float mTextHeight。 //用來存儲紋理數(shù)據(jù)的高度值}。構造函數(shù)的實現(xiàn)比較簡單,是把創(chuàng)建的對象的數(shù)據(jù)存儲起來為畫圖函數(shù)使用。析構函數(shù)則是將之前創(chuàng)建的紋理數(shù)據(jù)刪除掉。rend畫圖函數(shù)則是在Texture2D中的drawAtPoint畫圖函數(shù)的基礎上做了些簡單修改,其中包括紋理的綁定,頂點坐標數(shù)組的開啟,紋理坐標數(shù)組的開啟,幾何圖元序列的構造等等,最終實現(xiàn)圖形的繪制。 游戲DGUInterface文件的實現(xiàn) Texture2D中有很多接口,DGUInterface文件就是用來封裝其中的實現(xiàn)接口。設計這個文件的目的就是將通過Texture2D獲得的數(shù)據(jù)參數(shù)存儲在畫圖類中。所以在接口封裝文件的頭文件中要聲明類DGSprite,另外還需聲明一個函數(shù)DGSpriteCreate(),它是創(chuàng)建畫圖類的函數(shù),該函數(shù)的參數(shù)是一個文件名,返回值為指向DGSprite的指針。 ,還有DGSpriteCreate()函數(shù)的實現(xiàn)方法,具體實現(xiàn)過程為:將接受的文件名參數(shù)轉化為字符串格式,然后用Texture2D定義的一個指針指向與該字符串具有相同名稱的文件,接著將該文件的數(shù)據(jù)存儲到畫圖類的一個指針中,最后釋放Texture2D指針并返回畫圖類指針。 游戲DiceGameApp類的實現(xiàn) DiceGameApp類是應用程序類,主要用來實現(xiàn)應用程序的算法。它的頭文件中除了需要包含OpenGL相關的頭文件外,還需聲明畫圖類DGSprite以及定義應用類DiceGameApp。同樣的,DiceGameApp類中定義了構造函數(shù)、析構函數(shù)和一個rend畫圖函數(shù),最后還要定義一個私有的畫圖類指針變量textBg。 ,代碼如下:DiceGameApp::DiceGameApp() //構造函數(shù)的實現(xiàn){ textBg = DGSpriteCreate()。 //,然后把返回值存儲在textBg中}DiceGameApp::~DiceGameApp() //析構函數(shù)的實現(xiàn){ delete textBg。}void DiceGameApp::rend() //畫圖函數(shù)的實現(xiàn){ textBgrend(, )。 //調用在DGSprite類中實現(xiàn)的rend畫圖函數(shù)} 游戲EAGLView類的實現(xiàn) 子窗口類目前還是顯示的系統(tǒng)默認的彩色正方形。 ,并定義一個應用類的指針diceApp。 ,這樣在后續(xù)的畫圖中該應用類就可以使用了。將該文件中的畫圖函數(shù)drawView里的繪制彩色正方形的部分代碼刪除,因為目前需要顯示的只是一張背景圖,所以代碼會簡化很多。在drawView函數(shù)中添加如下代碼:diceApprend()。在drawview之前,還需要在layoutSubviews方法添加一些和Texture2D相關的設置。例如,需要在窗口設定可見區(qū)域,選擇投影方式,啟用顏色的混合功能,啟用頂點坐標數(shù)組,啟用紋理坐標數(shù)組,設置當前清除顏色等。保存文件后編譯運行。采用同樣的步驟,可以顯示出另一張圖片。 顯示效果 Figure Display effect 游戲DGTexture類的實現(xiàn) 本論文設計的搖色子游戲要求有動畫效果,而游戲設計之初,考慮的方法是只用一個畫圖類來實現(xiàn)紋理貼圖,但此方法只能實現(xiàn)獨立圖片的顯示,要實現(xiàn)動畫功能非常復雜,必須將幾張圖片通過不同的組合方式顯示出不同的圖像,才能達到預期的要求?;诖藛栴},想到可以創(chuàng)建新的紋理類文件,通過該類來獲取整張圖片的紋理數(shù)據(jù),而之前的畫圖類的功能就可以簡化,只需從紋理中獲取圖片數(shù)據(jù),然后實現(xiàn)圖形繪制。 按照之前的方法與步驟,創(chuàng)建紋理類文件DGTexture。,將類名改為DGTexture,同時修改構造和析構函數(shù),另外還需在public下添加一個bind方法及4個get方法,bind方法用來綁定當前紋理,get方法來獲取紋理圖片和紋理數(shù)據(jù)的寬和高。 ()方法是把已命名的紋理綁定到目標紋理,代碼為:void DGTexture::bind(){ glBindTexture(GL_TEXTURE_2D, mTextId)。}其他4個get方法都很簡單,只是返回對應的紋理屬性參數(shù)值。完成DGTexture類的代碼后,原來的DGSprite類需要做些修改,現(xiàn)在畫圖類的作用只是用來畫圖,不必再考慮紋理數(shù)據(jù)的存儲問題,所以DGSprite類中的構造函數(shù)的第一個參數(shù)修改為DGTexture類的一個指針,通過它可以直接獲取所有紋理數(shù)據(jù),構造函數(shù)中的其他參數(shù)表示所畫圖像在當前紋理中的起始坐標以及圖片的寬和高值。DGSprite類中還增加了一個setCent()方法以及存放中心坐標的變量mCentX()和mCentY()。DGSprite類的實現(xiàn)文件中構造函數(shù)的實現(xiàn)主要包括中心坐標變量的初始化,以及紋理ID和所畫圖像在紋理中的起始坐標與寬高值的記錄。由于紋理類的析構函數(shù)中已經刪除了紋理類,所以DGSprite類中可以去掉這部分代碼。rend()方法也需做相應的修改,因為用到了紋理貼圖,所以需要計算紋理像素的地址坐標,同時還要調用紋理類的綁定函數(shù),另外還需計算圖片的頂點坐標,將其存放在一個二維數(shù)組中。修改完DGTexture類和DGSprite類后,還需修改DGUInterface類。只需要用DGTexture類代替之前的DGSprite類即可。接下來還需修改應用類DiceGameApp,在頭文件中聲明畫圖類和紋理類,同時定義一個DGTexture類指針textBg和一個DGSprite類指針spriteBg。在應用類的實現(xiàn)文件中,在構造函數(shù)中首先創(chuàng)建一個紋理類對象textBg,然后通過紋理類對象創(chuàng)建一個畫
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1