• /  27
  • 下載費用: 28積分  

基于OpenGLES的iPhone游戲的設計與實現.doc

'基于OpenGLES的iPhone游戲的設計與實現.doc'
?目 錄第1章 緒 論 11.1 引言 11.2 本論文研究容 11.3 OpenGL ES概述 21.4 本論文的組織 3第2章 游戲開發環境的介紹 42.1 iPhone平臺簡介 42.2 iPhone開發環境的搭建 4第3章 游戲基本框架的搭建 53.1 啟動Xcode創建工程 53.2 游戲流程框圖 83.3 游戲DGSprite類的實現 93.4 游戲DGUInterface文件的實現 93.5 游戲DiceGameApp類的實現 103.6 游戲EAGLView類的實現 113.7 游戲DGTexture類的實現 113.8 游戲DGFont類的實現 13第4章 游戲的具體實現 154.1 重寫DGSprite 154.2 重寫DiceGameApp 154.3 讓色子晃動起來 164.4 背景音樂類DGSound的添加 174.5 游戲運行效果 17第5章 代碼的優化 18第6章 結束語 19參考文獻 20附錄 21基于OpenGL ES的iPhone游戲的設計與實現摘要:隨著通信技術的發展和手機的普及,手機游戲的開發技術越來越為人們所關注。本文的搖色子游戲是基于OpenGL庫的運用,結合面向對象方法開發的。OpenGL ES是OpenGL的一個子集,它是專門為iPhone之類的嵌入式系統設計的。本文簡述了OpenGL ES和iPhone游戲開發的相關知識,然后通過需求分析,搭建了搖色子游戲的基本框架,最后通過總體設計和詳細設計論述了系統的開發和實現過程。關鍵詞:手機游戲;搖色子;OpenGL ES;iPhoneThe Design and Development Of IPhone Game Based On OpenGL ESAbstract: Along with the development of communication and the popularization of handset, people pay more attention to the handset game technology. Based on the application of OpenGL storehouse, the development of this paper's dice game is combined with the object orientation. OpenGL ES is a subset of the OpenGL. It is specially designed for the embedded system such as iPhone. This paper gives a simple review on related knowledge of the OpenGL ES and the development of iPhone game. Through the analysis of the demand, then the basic framework of dice game will be built. finally, through the design of whole system and the detailed design, the process of development and achievement will be brought forth.KeyWords: handset game; dice; OpenGL ES; iPhone第1章 緒 論1.1 引言蘋果公司于2007年推出基于Mac OS X 10.5精簡版的iPhone手機,iPhone自上市后就不斷地創造著銷售奇跡。由于iPhone是蘋果公司推出的掌上通信設備,所以它有些特別,它的特別之處在于蘋果公司自身的很多東西是自成一套的,是不開放,是對外界封閉的。以前iPhone只開放瀏覽器中程序的編寫,如果自己想寫一個軟件在iPhone手機上運行則是不允許的,后來蘋果放開了這種限制,開發人員不但可以寫屬于自己的程序,而且還可以將寫好的程序上傳到蘋果的App Store中供其他人下載。開發人員可以為自己的軟件定個價格,這樣,其他人下載的時候就要支付開發人員一定的費用。而且基于蘋果系統的原因,想要將第三方軟件移植到iPhone平臺上也就變得非常容易,因此越來越多的軟件開發人員正加入到iPhone應用的開發熱潮中。在iPhone開發中,依靠兩個不同的庫可以用來進行自定義繪圖:Quartz 2D和 OpenGL ES。OpenGL ES是跨平臺圖形庫OpenGL的一個子集,它是專門為iPhone之類的嵌入式系統設計的。Quartz 2D提供了很多圖像繪制函數,使用起來也非常容易,但它只能用于二維的圖形設計。而且盡管Quartz中的很多函數會利用硬件加速,但不能保證所有的操作都得到加速。OpenGL中則用于二維和三維的圖形設計,而且它經過專門設計,與硬件的加速能力結合最為緊密,性能最好,它也非常適合用于編寫游戲和其他圖形密集的、復雜的程序。如果想做3D程序,就必須用OpenGL ES,如果是純2D的游戲,使用OpenGL ES作為引擎將能獲得最佳的性能,所以本論文中設計的搖色子小游戲就是基于OpenGL ES來設計和實現的。1.2 本論文研究容本項目是根據畢業設計的要求,經過本人實踐及深思熟慮后提出,是結合所學知識所作出的最終決定。本文是在了解iPhone開發流程的基礎上,基于OpenGL ES搭建一個iPhone游戲平臺,在這個平臺之上,實現一個具體的搖色子游戲。本游戲直觀易懂,使用非常方便,用戶可以直接上手,而且從技術上、經濟上、可操作性上都是可行的,要求也不高,所以該工程的開發是可行的。本論文主要容包括創建OpenGL ES工程,游戲基本框架的搭建,游戲的具體實現,代碼的優化等。游戲編寫采用面向對象思想,將相同性質的對象抽象出來,大大降低耦合度。當應用程序啟動后,按下觸摸屏或晃動iPhone手機時,2個色子會快速旋轉起來,色子的點數是隨機變化的,色子旋轉時會伴隨著音樂唰唰作響。本論文設計的投擲色子游戲的功能介紹及要求如下:(1)在桌布上顯示2個色子。(2)在游戲的開始界面上,有“Start”和“Help”按鈕。(3)點擊“Help”按鈕時,要顯示游戲的幫助信息。(4)點擊“Start”按鈕進入游戲,通過觸摸屏可以操作,按下觸摸屏時,色子開始搖動、旋轉,松開停止旋轉。(5)點擊“Start”按鈕進入游戲,通過搖動手機來開始投擲色子,搖動停止后,色子停止轉動。(6)在色子投擲的過程中要有音樂,色子停止時,聲音也停止。1.3 OpenGL ES概述OpenGL ES是OpenGL的簡化版,OpenGL的英文全稱是“Open Graphics Library”,顧名思義,OpenGL便是“開放的圖形程序接口”。OpenGL是一。省略部分。or(1.0f, 0.0f, 0.0f, 1.0f); //設置圖像顏色為紅色不透明 ones->rend(xPos, yPos,angle); //繪制圖像 break; case 1: twos->setColor(1.0f, 0.0f, 0.0f, 1.0f); twos->rend(xPos, yPos,angle); break; case 2: threes->setColor(1.0f, 0.0f, 0.0f, 1.0f); threes->rend(xPos, yPos,angle); break; case 3: fours->setColor(1.0f, 0.0f, 0.0f, 1.0f); fours->rend(xPos, yPos,angle); break; case 4: fives->setColor(1.0f, 0.0f, 0.0f, 1.0f); fives->rend(xPos, yPos,angle); break; case 5: sixs->setColor(1.0f, 0.0f, 0.0f, 1.0f); sixs->rend(xPos, yPos,angle); break; default: sixs->setColor(1.0f, 0.0f, 0.0f, 1.0f); sixs->rend(xPos, yPos,angle); break; }}void DiceGameApp::rend(){ bg->rend(160.0f, 240.0f); //繪制背景圖片 if(startPlayingFlag == GAME_ IDLE) //游戲初始界面的顯示 { startButton->rend(160.f, 225.f); helpButton->rend(160.f, 325.f); mFont->drawString("You can get the detail by press the Help.", 20.f, 100.f); } else if(startPlayingFlag == GAME_ HELP) //游戲幫助信息的界面顯示 { startButton->rend(160.f, 225.f); helpButton->rend(160.f, 325.f); mFont->drawString("Hello,welcome to entry this game.", 40.f, 40.f); mFont->drawString("Operations:", 40.f, 70.f); mFont->drawString("1.Press the Start button.", 40.f, 100.f); mFont->drawString("2.1 Shake your phone to start.", 40.f, 130.f); mFont->drawString("2.2 Press anywher to start and ", 40.f, 160.f); mFont->drawString("release your finger to stop.", 70, 180); } else if(startPlayingFlag == GAME_ RUNNING) //游戲進行中的界面顯示 { getPosition(0); drawDiceAnimination(0,diceNumber1); getPosition(1); drawDiceAnimination(1,diceNumber2); } else if(startPlayingFlag == GAME_ RESULT) //游戲結果的界面顯示 { drawDiceNormal(0,diceNumber1); drawDiceNormal(1,diceNumber2); } else { mFont->drawString("Error !", 160, 240); //游戲出錯時的界面顯示 }}致 最后,謹向在百忙之中抽出時間審閱論文和參加答辯的各位老師表示我由衷的意!由于學生所掌握知識的深度和廣度有限,差錯之處還請各位老師批評指正。袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈
關 鍵 詞:
設計 opengles 實現 游戲 iphone 基于
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:基于OpenGLES的iPhone游戲的設計與實現.doc
鏈接地址: http://www.094347.live/p-55568771.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.094347.live 網站版權所有

粵ICP備19057495號 

收起
展開
有没有苹果软件赚钱的 北京11选五一定牛一 甘肃快三 幸运赛车20033021期开什么 北京快乐8是正规的吗 幸运飞艇手机APP 新疆十一选五开奖 pk10分析软件 买江西时时彩的技巧 加拿大快乐8是正规彩票吗 北京pk10下载