24小時論文定制熱線

咨詢電話

熱門畢設:土木工程工程造價橋梁工程計算機javaasp機械機械手夾具單片機工廠供電采礦工程
您當前的位置:論文定制 > 畢業設計論文 >
快速導航
畢業論文定制
關于我們
我們是一家專業提供高質量代做畢業設計的網站。2002年成立至今為眾多客戶提供大量畢業設計、論文定制等服務,贏得眾多客戶好評,因為專注,所以專業。寫作老師大部分由全國211/958等高校的博士及碩士生設計,執筆,目前已為5000余位客戶解決了論文寫作的難題。 秉承以用戶為中心,為用戶創造價值的理念,我站擁有無縫對接的售后服務體系,代做畢業設計完成后有專業的老師進行一對一修改與完善,對有答辯需求的同學進行一對一的輔導,為你順利畢業保駕護航
代做畢業設計
常見問題

“瘋狂投籃”安卓游戲設計與實現

添加時間:2018/07/20 來源:無線互聯科技 作者:何向文
 街頭籃球機是一項源于美國流行世界的現代體育競枝項目, 屬于街頭籃球文化的一部分, 是一項適合全民健身、老少皆宜的具有較強競技性、趣味性的運動新項目。投籃機是把籃球運動中的投籃動作獨立出來, 設計成一種專門用于投籃的練習設備。
  以下為本篇論文正文:

  摘要:文章設計并實現了一款基于Android的“瘋狂投籃”體育類游戲。該游戲是一種讓玩家模擬參與專業體育運動項目的電腦游戲或手機游戲, 其類別內容多數以為較多人認識的體育賽事為藍本, 較受年輕人歡迎。該游戲模擬了街頭籃球機, 將風靡全世界的投籃機帶到了手機上, 只要動動手指就可以進行投籃, 享受投籃機的樂趣。

  關鍵詞:Android; 瘋狂投籃; 體育類游戲;

  Abstract:This paper designs and implements a “crazy shooting” sports game based on Android. The game is a computer game or mobile game that allows players to simulate professional sports events. Most of them think the sports events that more people know are the blueprint, which is more popular with young people. This game simulates the street basketball machine, and brings the world's shooting machine to the mobile phone. As long as it moves the finger, you can shoot the basket and enjoy the fun of the shooting machine.

  Keyword:Android; crazy shooting; sports game;

  街頭籃球機是一項源于美國流行世界的現代體育競枝項目, 屬于街頭籃球文化的一部分, 是一項適合全民健身、老少皆宜的具有較強競技性、趣味性的運動新項目。投籃機是把籃球運動中的投籃動作獨立出來, 設計成一種專門用于投籃的練習設備。其種類很多, 有“兒童籃球機”“雙人籃球機”和“單人籃球機”等。由于其時尚的外形和動感的音樂效果, 很快就流行到了世界各地。

同類手機籃球游戲畫面截圖

  1、游戲的功能概述

  “瘋狂投籃”游戲的操作很簡單, 只需用手指輕觸屏幕上的籃球并將其甩出, 通過控制甩的力度和方向來調整球的速度和球的走向, 進行投籃, 在規定時間內得盡可能多的分數即可。該游戲的運行步驟如下。

  (1) 啟動游戲后首先進入的是公司圖標界面。 (2) 自動進入游戲聲音設置界面, 單擊“是”鏈接, 則開啟游戲聲音;單擊“否”鏈接, 則關閉游戲聲音。 (3) 聲音設置完畢后, 自動切換到游戲開始菜單界面, 該界面共有4個菜單, 分別是開始游戲、幫助、關于及退出。 (4) 在開始菜單界面若單擊“幫助”按鈕, 則進入游戲幫助界面, 該界面介紹了本游戲的游戲規則和游戲控制方法。 (5) 在開始菜單界面若單擊“關于”按鈕, 則進入游戲關于界面, 該界面介紹了關于本游戲的相關信息。 (6) 在開始菜單界面若單擊“退出”按鈕, 則退出游戲。 (7) 在開始菜單界面若單擊“開始游戲”按鈕, 則首先切換到游戲加載畫面, 加載游戲, 由此開始“瘋狂投籃”游戲之旅。 (8) 游戲加載成功后, 則進入游戲界面。一開始, 屏幕下方有3個籃球, 靜止于地板, 屏幕左上方的數字用來記錄玩家得分, 右上方的數字表示倒計時的時間。玩家可以通過手指甩動籃球進行投籃。 (9) 游戲中, 一旦玩家投出去了球, 則開始倒計時。 (10) 游戲中, 如果玩家投出去的球進了籃筐, 則相應地增加玩家得分。 (11) 游戲中, 如果玩家投出去的球沒有進入籃筐, 則不增加玩家得分。 (12) 游戲中, 玩家投出去的球落到地面后便自動回滾到屏幕下方。 (13) 游戲中, 如果倒計時到0, 則此輪游戲結束, 進入游戲結束界面。游戲的功能闡述完畢。本游戲只有一種快速游戲模式, 后續開發中可自行添加如限分模式、劇情模式等, 以增加游戲難度, 提高游戲的可玩性。

  2、游戲的設計與實現

  2.1、游戲的策劃

  現代社會人們工作日益繁忙, 通過參加體育活動來放松的時間越來越少。因此, “瘋狂投籃”作為一款體育類游戲, 模擬了現實世界的體育活動, 只要帶著手機, 玩家便可以隨時隨地進入虛擬體育世界, 享受體育帶來的樂趣, 滿足玩家對體育娛樂性的要求。

  “瘋狂投籃”的可玩性強, 需要玩家在規定時間內得盡可能多的分數。游戲過程中玩家不僅需要控制投籃的方向, 還要恰到好處地掌握好投籃的力度, 只有協調好這兩個因素, 才能將球順利投進籃筐, 這也是游戲的魅力所在[1]。

  如果程序中需要對圖片進行不等比例的拉伸時, 可使用Android sdk安裝目錄下tools文件夾中的draw9patch工具對圖片進行處理, 以達到更好的拉伸效果。

  2.2、游戲的架構

  2.2.1、游戲中用到的主要技術

  程序中聲音設置界面、開始菜單、幫助界面、關于界面、加載界面及結束界面均用2D技術實現。以上界面均繼承和擴展自Surface View并重寫了其中的on Draw方法, 所有的按鈕均為筆者用貼圖實現, 避免了使用Android的自帶控件, 使游戲畫面更加絢麗、個性。

  游戲時的界面使用3D技術實現, 游戲界面繼承和擴展了GLSurface View并實現了Renderer接口, 通過重寫on Touch Event方法實現與用戶的交互。

  本游戲開發中使用的碰撞檢測是一大難點, 運用到了數學中的向量知識和相關的物理知識。實際商業化游戲開發中, 往往使用的碰撞檢測算法更效率、更準確、更成熟。而這些算法都是由數學家研究的。

  2.2.2、游戲的框架與游戲界面類的設計與實現

  (1) 啟動游戲后, 首先在Basketball Activity中初始化, 閃過界面。 (2) 在Basketbal LActivity中初始化Sou nd View, 將用戶界面切換到聲音設置界面。 (3) 設置完游戲聲音后, Sounds View通過重寫其on Touch Event方法, 向Basketba IIActivity中的消息管理器發送消息, 初始化Menu View, 并通過調用Menu Thread線程繪制開始菜單界面, 將界面切換至開始菜單界面。 (4) 在開始菜單界面Menu View中, 單擊不同的按鈕, 將向Basketball Activit y中的消息管理器發送不同的消息, 進入不同界面。如單擊“幫助”按鈕, 則向消息管理器發送消息, 進入幫助界面。 (5) 當單擊“開始游戲”按鈕時, 先向消息管理器發送消息, 初始化Load View, 將開始菜單切換至游戲加載界面。 (6) 在加載界面加載動畫完成時, 向消息管理器發送消息, 初始化GLGame View, 進入游戲界面。首先GLGame View會初始化背景類、球類等場景類來繪制場景。同時將啟動線程Ball Go Thread來改變球運動的位置及其狀態, 刷新游戲界面, 進行動畫的繪制, 同時通過調用Collision Util類來進行碰撞檢測。 (7) 游戲界面類需要初始化的類為:Back Wall, Left Wall, Right Wall, Floor, Roof, Board, Ring, Cylinder, A s s e m bl e, P a n e l, S c o r e, D e a d t i m e, B a l l Fo r D r a w, Logical Ball, Ball Go Thread。 (8) 在Menu View中一旦單擊“開始游戲”按鈕則啟動線程Dead Time Thread來實時判斷倒計時是否到零。如果到零則向消息管理器發送消息, 初始化Ove View, 進入結束界面。 (9) 在結束界面, 如果觸摸屏幕的“再玩一次”字樣, 則向消息管理器發送消息, 將結束界面切換到開始菜單界面。

  本游戲中的界面有很多, 包括游戲主菜單、幫助界面、關于界面、加載界面及結束界面。但實現方式類似, 均繼承了Surface View。

  游戲開始菜單是游戲的一個重要界面, 當一開始進入游戲, 設置完音樂后就會進入這個界面, 而游戲勝利后, 依然回到該界面。開始菜單Menu View類是本程序最主要的類之一, 其實現比較復雜。

  本游戲為3D游戲, 游戲界面繼承了GLSurface View, 游戲界面的主要作用是組裝各個已經實現了的部件, 并進行游戲結束的判斷。

  2.3、游戲界面中主要場景的繪制及籃球運動

  本游戲場景由較多部件組成, 由于篇幅有限, 筆者在這里只給出較為典型的部件的繪制。游戲中的墻壁、地板、屋頂、儀表板和計分均采用矩形貼紋理的方式實現, 即繪制一個矩形, 然后對其貼背景或者地板的紋理, 然后進行平移和旋轉, 把背景和地板放置到游戲界面合適的位置。

  籃板的實質是一個正六面體, 其正面貼有籃板的紋理。正六面體的中心點與其坐標原點重合, 這樣在以后調用時會很方便。真實籃板的整體繪制需要非常復雜的數學模型, 包括圓環、圓柱和六面立方體。用圓環知識構造籃環, 用圓柱知識構造籃筐支架, 用六面立方體的知識構建籃板。

  由于倒計時的紋理是采用分割位圖來獲得的, 并且倒計時的變化是通過特定的Deadtime Thread.java來控制的。

  為了實現真實的籃球運動效果, 本游戲中籃球的運動拋物線完全模擬現實中的籃球運動的拋物線軌跡[2]。

  2.4、籃球與籃筐的碰撞檢測

  進行籃球與籃筐的碰撞檢測的最終目的是為了判斷籃球是否投進籃筐, 編寫Collision Util.java主要考慮的是籃球與籃筐碰撞的情況, 即已知籃球碰撞前的速度、籃球撞擊時的位置、籃球撞擊時的撞擊點, 得出籃球撞擊后的反彈速度。思路如下: (1) 求籃球碰撞后的反彈速度。 (2) 求籃球的撞擊點。

  在整個游戲當中, 籃球不僅會和籃筐發生碰撞, 還會與墻壁、地板和屋頂發生碰撞, 所以同樣要對其進行碰撞檢測。由于將速度分成了沿XYZ軸的分速度Vx, Vy, Vz, 所以每次碰撞時, 只是垂直于碰撞面的分速度的方向變成它的相反方向, 其余分速度方向不變。

  2.5、手機屏幕拾取技術

  在2D游戲中, 觸屏游戲的物體拾取只需判斷所觸屏幕點的坐標與所要拾取的物體所在點的坐標 (物體投影到屏幕上的坐標) 的關系, 如果所觸點坐標在物體所在坐標范圍內表示拾取到物體, 則可以進行下一步操作, 反之則不執行拾取操作。

  在3D游戲中, 同樣要判斷所觸屏幕點的坐標與所要拾取的物體所在點坐標的關系, 但所要考慮的就不光是屏幕觸控點的問題了。3D物體處于三維立體空間中, 不同物體不一定處于同一平面, 這時候就要從手指所觸屏幕點對應的3D空間中的點沿目光方向向遠處發出一條射線, 第1個與射線相交的物體即是要拾取的物體[3]。

  3、游戲的優化與改進

  在玩家眼中, 好的游戲總會是有聲有色、豐富多彩的, 離開了生動的音效, 游戲的體驗就會大打折扣, 所以對音效的處理是游戲開發中必不可少的。本游戲中, 對音效的處理并不夠完善, 有能力的玩家可以在適當的地方添加上音效, 以提升玩家的體驗感。

  參考文獻
  [1]吳亞峰.Android3D游戲開發技術詳解與典型案例[M].北京:電子工業出版社, 2012.
  [2]吳志霞.基于Android平臺的“戰斗士”游戲軟件案例設計及實現[J].九江學院學報, 2016 (1) :67-69.
  [3]弋改珍, 趙丹.基于Android平臺的飛機游戲的設計與開發[J].計算機技術與發展, 2016 (7) :183-186.

    相關內容
    好優論文定制中心主要為您提供代做畢業設計及各專業畢業論文寫作輔導服務。 網站地圖
    所有論文、資料均源于網上的共享資源以及一些期刊雜志,所有論文僅免費供網友間相互學習交流之用,請特別注意勿做其他非法用途。
    如有侵犯您的版權或其他有損您利益的行為,請聯系指出,論文定制中心會立即進行改正或刪除有關內容!
    欧美日本精品一区二区三区,米奇影视第四色,99久久精品国产免费看,久久精品国产一区二区无码
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>