下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于安卓平臺的水氣套圈游戲設計與實現
1物理引擎的開發(fā)物理引擎是游戲中物理屬性的計算方法,它可以為剛性物體帶來實際的物理屬性,并通過運行中的旋轉和碰撞反映來控制游戲中物體的主流程。它主要是采用調整對象屬性的方式來模擬剛體的行為,這就決定了物理引擎不但繼承了傳統(tǒng)的用編程或編寫腳本的方式實現的簡單的“牛頓”物理運動的能力,而且在編寫包含較為復雜的物理運動(如考慮彈力、摩擦系數等)的游戲時效果更為顯著。下面主要介紹基于安卓平臺開發(fā)的水壓套圈圈游戲的設計與實現,并以此為例說明如何實現物理引擎的靈活應用。2u3000重力感應互動游戲水壓套圈圈是風靡于90年代的一款掌上游戲機,其原理是在盒子里面充滿水然后放進許多小彩圈,通過按動下面的按鈕,讓水壓沖起小圈,在重力作用下使它們套在中間的小棍上,直到所有的小圈全都套中為止。在安卓平臺下,本游戲采用Box2D物理引擎,模擬在液態(tài)環(huán)境中的剛體碰撞行為,并且使固體對象具備重力感應能力。界面的設計主要采用安卓常用Widget組件并加載布局完成。3功能模塊首先在Eclipse中創(chuàng)建安卓工程,命名為Box2D,在源碼文件夾下新建package,名為com.box2d。3.1接口實現本游戲的界面主要有4個:主題界面、設置界面、說明界面、游戲界面。3.1.1跑馬燈控制板的實現主題界面采用表格布局“TableLayout”。共分為5行,第一行是一個橫向循環(huán)滾動文字,使用的是單行跑馬燈控件,第二行是TextView控件,后面是3個按鈕,分別鏈接到游戲界面、設置界面和說明界面。代碼如下:跑馬燈控件的設置首先要在源碼文件夾src下建立“跑馬燈”類,代碼如下:然后在資源目錄res的layout文件夾下創(chuàng)建主題類main,在main中添加跑馬燈控件,并設置滾動字條為“河北科技大學作品”。按鈕的設置也類似,下面給出第一個按鈕設置的代碼,其他剩下的兩個只要修改按鈕上的文字和背景圖片即可,如圖1所示。3.1.2兩個普通東南角設置界面與主題界面類似,首先設置布局類型,這個界面為LynearLayout布局,在布局中設置與主題界面相同的背景圖片。界面的組件分為3組,前兩組都是RadioGroup,用來控制難度級別和音效,第三組只有兩個普通按鈕,分別用來鏈接進入游戲界面和返回主題界面。第一個RadioGroup包含3個RadioButton,分別表示初級、中級和高級3個難度級別;第二組包含兩個RadioButton,用來表示開啟背景音樂和播放背景音樂;兩個普通按鈕的設置與主題界面類似,只需修改文字和背景圖片此處不做介紹。每組RadioGroup還需要有說明的文字,所以還需要在每組RadioGroup之前先設置一個TextView,第一個顯示文字“難度設置”,第二個顯示“音效設置”。前半部分代碼如下:“音效設置”部分代碼與“難度設置”部分類似,不再贅述,如圖2所示。對于說明界面只需添加幾個TextView,寫上游戲說明和開發(fā)團隊的介紹即可。3.1.3界面的模擬操作因為游戲界面與物理引擎所創(chuàng)建的物理世界關系密切,所以該界面不在layout文件夾下配置,直接在源碼文件夾中的主函數里生成。第一步先初始化界面,設置好背景圖片;然后配置界面的底邊框,先設置一個邊框的類publicvoiddrawedge(),在其中初始化一個paint類的對象mpaint,用來觸發(fā)模擬噴水器,不按時為藍色,按下時變?yōu)辄S色。按鈕周圍用圖片環(huán)繞。環(huán)繞的小圖片用BitmapFactory.decodeResource()方法來獲取,并設置小圖片在屏幕底部3行循環(huán)平鋪。最后設置中間的兩根小棍,方法與底邊框類似(如圖3所示),只不過這里又調用了canvas.drawBitmap(bitmap,src,dst,paint)方法,參數src表示要畫的bitmap的區(qū)域,dst表示要顯示在屏幕上的區(qū)域。這樣,游戲界面就基本完成了。主要代碼如下:3.2d物理引擎設計功能的設計與實現是整個游戲工作量最大的部分,也是本程序的核心。因為小圈套上木棍這個行為是一個三維的動畫效果,而Box2D是一個以二維動畫來表現物體運動的物理引擎,如何讓2D的物理引擎模擬出3D動畫效果是主函數設計中必須解決的問題,也是整個程序能夠運行的關鍵。所以在這里必須使用特殊的方法來實現,后文以此為重心介紹主要功能模塊的設計與實現。從宏觀角度來看,可以把主程序分為4個部分:控件的定義和初始化以及偵聽、提示框和對話框的設計、剛體的定義和控制部分、整個游戲控制流程的設計部分3.2.1控制組件的定義、初始和檢測因為這一部分比較簡單,在此僅舉幾個比較重要的控件的例子,其他的控件就不再具體介紹了。3.2.1.約束求解器的使用首先,對于物理引擎的應用必須先定義一個物理世界并設置屏幕與現實世界的比例。要創(chuàng)建這個世界對象,還需要定義一個世界的包圍盒,Box2D使用包圍盒來加速碰撞檢測,然后才能創(chuàng)建世界對象。之后最重要的是設置約束求解器iterations的迭代次數,約束求解器用與解決模擬中的所有約束,一次一個。定義其迭代次數是實現運行速度與質量的平衡。更少的迭代會增加性能但降低模擬的精度:除了上面與物理引擎相關的控件之外還有在界面設計中提到的其他控件,這些控件也都要在主函數中定義和初始化,比如表示“開始游戲”的按鈕的定義:publicButtonstart;3.2.1.2初年剩下的控件只需修改類型和名稱即可。3.2.1.3調查控件的偵聽設計分為兩塊,觸摸屏幕事件偵聽、點擊屏幕下方按鍵事件偵聽。主要代碼如下:3.2.2在控制程序執(zhí)行過程中,顯示框架和和解這部分的設計在很多安卓教材中都會涉及,這里只給出主要的代碼和詳細的注釋,至于設計的具體方法也就不再詳述了。代碼:3.2.3d的物理實現這部分是主函數中對物理引擎應用的原理,也是本程序最為核心的部分。因為Box2D是一個二維的物理引擎,它所表現的物體都是以二維的畫面展示的,這樣一來問題就產生了。本游戲所要完成的動畫效果是讓圈穿過木棍,這是一個3D的動畫效果,也就是說2D的圈是不能穿過木棍的,怎樣在不更換物理引擎的情況下模擬出3D的動畫效果呢?這就用到了下文所要介紹的一種簡單方法。首先初始化一個桶狀物,在游戲的過程中讓圈落入桶中,桶的顏色是透明的,但是其內部卻著上其他顏色,這樣雖然實際上是小圈落入到桶中,但顯示給用戶的是小圈穿過了木棍。原理如圖4所示。根據上述原理,可以設計出代碼的流程。首先創(chuàng)建小圈以及接受小圈落下的桶,也就是顯示給用戶的小棍,并定義他們的摩擦系數、密度等屬性,設置小圈初始速度為隨機。然后初始化物理世界,在并根據不同大小的手機屏幕,自動設定小棍的位置在屏幕正中間。主要代碼如下:3.2.4實例化對象的mthad爾游戲控制流程的設計中用到了安卓程序中一個重要的工具Handler。Handler是用來解決耗時的操作運行效率與運行安全的平衡問題的工具。這里的Handler實例化對象mHandler用來配合主線程對背景音樂子線程和游戲運行子線程的運行進行更新。最后是界面刷新,安卓提供了兩種刷新方式:一種是Invalidate方法,但是Invalidate不能直接在線程中調用,另一種是postInvalidate(),可以直接在線程中被調用,本程序選擇postInvalidate()方法實現界
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國低壓聚乙烯包裝物行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 紫銅桿項目可行性分析報告(模板參考范文)
- 2025年中國健身俱樂部行業(yè)發(fā)展?jié)摿︻A測及投資策略研究報告
- 西點軍校 培訓課程設計
- 復合材料項目可行性研究報告 (一)
- 基于工業(yè)互聯(lián)網平臺的產業(yè)升級路徑研究
- 學校食堂衛(wèi)生管理對預防學生感染幽門螺旋桿菌的影響研究
- 從理論到實踐實時超聲科診斷全流程解析
- 家中親子活動與學習興趣的培養(yǎng)關系
- 媒體融合背景下如何打造高質量教育內容
- AutoCAD2024簡明教程資料
- 《中國傳統(tǒng)文化》課件模板(六套)
- 民航客艙服務管理Ⅱ學習通超星期末考試答案章節(jié)答案2024年
- 兒科主任年終總結
- 2023年上海市錄用公務員考試真題
- 期末 (試題) -2024-2025學年人教PEP版英語四年級上冊
- 第三單元 (單元測試)-2024-2025學年-四年級上冊語文統(tǒng)編版
- 浪潮銷售在線測評題
- 總經理年會發(fā)言稿模板怎么寫(8篇素材參考)
- 《完善中國特色社會主義法治體系》課件
- 2024年人教版小學四年級信息技術(上冊)期末試卷附答案
評論
0/150
提交評論