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

正文內(nèi)容

基于android的推箱子游戲的設計與實現(xiàn)——畢業(yè)論文整理版-資料下載頁

2024-11-10 16:08本頁面

【導讀】隨著智能手機一步步走進普通人的生活,它將成為人們獲取信息的主要設備。因此,手機的娛樂應。用服務將會有很大的發(fā)展空間,游戲也是其中之一。本系統(tǒng)主要是實現(xiàn)基于Android的推箱子游戲,推。箱子是一款來自日本的古老游戲,其設計目的是訓練人的邏輯思維能力。游戲場景一般是設定在空間狹。小的倉庫中,要求把箱子擺放到指定位置。這就要求玩家巧妙的運用有限的空間和通道,合理的安排箱。子的位置和移動次序才可能完成任務。隨著計算機游戲的發(fā)展,很多編程愛好者基于該游戲的思想開發(fā)。這其中也包括很多手機版本的實現(xiàn),伴隨著AndroidSDK技術的不。斷發(fā)展,一些基于Android應用也不斷推陳出新,很快推箱子游戲便進入了千家萬戶。本文首先論述了android系統(tǒng)的背景和研究現(xiàn)狀,接著簡要的介紹了android的技術及對android. 分析,并且介紹了android應用程序的結構。各個類的實現(xiàn)進行代碼的編寫與實現(xiàn)功能。

  

【正文】 當系統(tǒng)內(nèi)存即將不足的時候,會依照優(yōu)先級自動進行進程的回收。不管是使用者或開發(fā)者,都無法確定應用程序何時會被回收。關于進程的生命周期將在下一節(jié)中介紹,本節(jié)主要介紹活動的生命周期。 一個活動類別除了 OnCreate方法之外,還預先定義了 onPause(暫停 )、 OnResume(繼續(xù) )等的基本方法,當從一個活動切換到另一個活動的時候,原來的活動將經(jīng)過一連串的狀態(tài)改變。開發(fā)者可以在程序中添加一些各狀態(tài)相對應的流程,每次活動狀態(tài)改變時,就會執(zhí)行相對應的流程。要讓用戶有好的使用體驗,活動需要在各個周期中負責保管狀態(tài)、恢復狀態(tài)、傳送資料等工作。 活動的生命狀態(tài) Android的虛擬機是使用堆棧管理。主要有四種狀態(tài) : (l)活動狀態(tài) 活動狀態(tài)是指用戶啟動應用程序或活動后,活動運行中的狀態(tài)。在 Android平臺上,同一個時刻只會有一個活動處于活動或運行狀態(tài)。其他的活動都處于未啟 動、停止或是暫停的狀態(tài)。 (2)暫停狀態(tài) 暫停狀態(tài)是指當活動暫時暗下來,退到背景畫面的狀態(tài)。當警告對話框或電話來了時,都會讓原來運行的活動退到背景畫面。新出現(xiàn)的警告對話框等界面元件蓋住了原來的活動畫面。活動處在暫停狀態(tài)時,用戶無法與原活動互動。 (3)停止狀態(tài) 停止狀態(tài)是指有其他活動正在執(zhí)行,而這個活動己經(jīng)離開屏幕,不再動作的狀態(tài)。通過按返回鍵,可以調(diào)出所有處于停止狀態(tài)的應用程序列表。處于停止狀態(tài)的活動,還可以通過通知來喚醒。 JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK (4)已回收或未啟動狀態(tài) 已回收或未啟動狀態(tài)是指活動尚未被啟動、已經(jīng)被手動終止或 己經(jīng)被系統(tǒng)回收的狀態(tài)。要手動終止活動,可以在程序中調(diào)用 finish 方法。如果是被系統(tǒng)回收,可能是因為內(nèi)存不足了,所以系統(tǒng)根據(jù)內(nèi)存不足時的回收規(guī)則,將處于停止狀態(tài)的活動所占用的內(nèi)存回收。 Adroid活動聲明周期如圖 31: 圖 31 Android活動生命周期 圖 31所示的七個狀態(tài)又可以歸納成三組 : (l)資源分配 (創(chuàng)建 /銷毀 ) 完整的活動生命周期由創(chuàng)建狀態(tài)開始,由銷毀狀態(tài)結束。創(chuàng)建時分配資源,銷毀時釋放資源。 (2)可見與不可見 (啟動 /重新啟動 /停止 ) 當活動運行到啟動狀態(tài)時,就可以在屏幕上看到這個 活動。相反地,當活動運行到停止狀態(tài)時,這個活動就會從屏幕上消失。當用戶按下返回鍵回到上一個活動時,會先到重新啟動狀態(tài),再到一般的啟動狀態(tài)。 (3)用戶取得屏幕的控制權 (繼續(xù) /暫停 ) 當有個警告對話框、短信、電話等信息進入時,原來的活動會進入暫停狀態(tài),暫時放棄屏幕的控制JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK 權,被中斷到背景去,將前景交給優(yōu)先級高的事件。當這些優(yōu)先級高的事件處理完后,活動就改進入繼續(xù)狀態(tài),此時又取得屏幕的控制權。 活動的運作流程 由實際運行來看,我們可以歸納出所有 Android應用程序都遵循的運作流程 : (l)一般啟動 啟動一個活動的基本流程為 onCreate 一 onstart 一 onResume。該流程首先分配資源給這個活動(創(chuàng)建狀態(tài) ),然后將活動的內(nèi)容顯示到屏幕上 (啟動狀態(tài) )。在一切就緒后,取得屏幕的控制權 (恢復狀態(tài) ),用戶可以開始使用這個程序。 (2)調(diào)用另一個活動 調(diào)用另一個活動的基本流程為 onpause(l)一 onCreate(2)一 onstart(2)一 0nResume(2)一 onStop(l)。該流程首先凍結原來的活動,再交出屏幕控制權 。直到活動 2完成一般啟動流程后,活動 1才會被停止。 (3)回到原來 活動 回到原來活動的基本流程為 onPause(2)一 onRestart(1)一 onstart(l)一 onResume(1)一 onstop(2)一 onDestroy(2)。另外按返回鍵也可以回到原來的活動。 ( 4)退出結束 退出結束的基本流程為 onPause一 onStop 一 onDestroy。如果程序中有直接調(diào)用 finish方法來關閉活動的話,系統(tǒng)會跳過先凍結的階段,直接暫停,停止,然后銷毀。 (5)回收后再啟動 回收后再啟動的基本流程為 oncreate 一 onstart 一 onresume。如 果被回收掉的活動一旦又重新被調(diào)用時,會像一般啟動一樣再次調(diào)用活動的 onCreate方法。 當在模擬器上已經(jīng)執(zhí)行過多個應用程序,只要按下返回鍵,就會開啟最近一次開啟過的活動。所以如果要讓再次被創(chuàng)建的活動跟原來開啟過的一樣,那么在活動之間切換時,就要保存資料 :即在每次活動運行到暫?;蛲V範顟B(tài)時先保存資料,然后在創(chuàng)建時將資料讀出來。 4 系統(tǒng) 設計 與實現(xiàn) JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK 游戲的策劃 游戲的策劃主要包括游戲的情節(jié)、目標受眾、運行的目標平臺、采用的呈現(xiàn)技術、操作方式等幾個方面。下面就針對本游戲?qū)ι鲜鰩讉€方面進行簡單的介紹,如下 所列。 游戲情節(jié),本游戲為輕量級的益智游戲,因此不存在很復雜的情節(jié)。這方面主要要做的工作主要為設計游戲各關倉庫的形狀、大小、可通過區(qū)域,以及各關中箱子的初始位置與目的地。 目標受眾 ,這個游戲受眾面比較廣,應該是老少皆宜的??紤]到受眾面廣的原因,應該將操作方式設計得更加人性化,畫面更加清新。 運行的目標平臺,本游戲的目標平臺為 。 采用的呈現(xiàn)技術,推箱子游戲一般采用的都是 2D的呈現(xiàn)技術,本案例為了增強游戲的吸引力,擬采用 。 ,本游戲采用 45度視角。 操作方式,本游戲擬采用手機鍵盤進行操作,對于沒有鍵盤的型號也可以考慮采用虛擬鍵盤。 由于該游戲使用 Eclipse作為主要的開發(fā)工具,所以在開發(fā)之前需要檢查 Eclipse是否已經(jīng)配置好。 游戲基本功能描述 推箱子是一款來自日本的古老游戲,其設計目的是訓練人的邏輯思維能力。游戲場景一般是設定在空間狹小的倉庫中,要求把箱子擺放到指定位置。這就要求玩家巧妙的運用有限的空間和通道,合理的安排箱子的位置和移動次序才可能完成任務。 該游戲的功能流程圖如圖 41所示: JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK 圖 41 功能流程 具體的功能如下: 1)開始游戲,點擊此圖標開始游戲。 2)聲音開關,玩家可以選擇是否開大背景音樂。 3)游戲說明,簡單介紹此游戲的基本功能和玩法。 4退出游戲,點擊此圖標退出游戲 。 推箱子游戲用例分析 ( 1)推箱子游戲主用例分析 推箱子游戲主用例主要分為一些菜單選項的設置和玩游戲的整個過程。 推箱子游戲主用例的描述。 用例 1 描述:菜單管理 運行程序 進入游戲 控制游戲聲音的開關 彈出游戲規(guī)則的說明框 退出程序 開始游戲 聲音開關 游戲說明 退出游戲 游戲歡迎界面 JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK 執(zhí)行者:玩家 前置條件: android 手機用戶、安裝有推箱子應用程序 后置條件:可以進行相關游戲選項的設置 基本路徑: 1)運行應用程序 2)進入菜單界面 3)進行相關游戲選項的設置或選擇開始游戲 用例 2 描述:玩游戲 執(zhí)行者:玩家 前置條件:開始游戲 后置條件:游戲成功 基本路徑 1)運行應用程序 2)進入菜單并選擇游戲開始 3)通過手機硬鍵盤控制小人移動從而將箱子移動到指定位置 用例 3 描述:游戲聲音開關 玩家可以通過游戲菜單的聲音開關選項進行游戲聲音開關的設置。 執(zhí)行者:玩家 前置條件:進入菜單界面 后置條件:返回菜單界面或開始游戲 基本路徑: 1)運行應用程序 2)進入菜單界面 3)觸摸菜單界面的聲音開關的圖標 用例 4:退出游戲 執(zhí)行者:玩家 前置條件:進入游戲菜單 后置條件:無 基本路徑: 1)運行應用程序 JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK 2)進入游戲菜單 3)觸摸菜單界面的退出游戲圖標 游戲的類框架 游戲的類框架 如圖 42 圖 42 游戲的類框架 該游戲開發(fā)的類比較多,為了更好的理解各個類在游戲中所扮演的角色,將按照前面的框架分類對各個類的功能進行簡要簡紹 。 ( 1) 共有類 共有類: (1) PushBoxActivity. (2) KeyThrad. ( 2) 歡迎界面相關類 歡迎界面相關類: 1) WeleView. 2) WeleViewDrawThread. 3) WeleViewGoThread. ( 3) 菜單界面相關類 菜單界面相關類: 1) MenuView. 2) MenuViewDrawThread. 3) MenuViewGothread. JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK ( 4) 游戲界面相關類 游戲界面相關類: 1) GameView. 2) MySprite. 3) SpriteThread. 4) SpriteMoveThread. (5) BoxThread. (6) MapList. (7) GameViewDrawThread. 游戲界面的框架設計 與實現(xiàn) 游戲界面的框架如圖 43 圖 43 游戲界面的框架 在游戲框架搭建好之后,就要開始游戲的地圖 、各個實體以及相關線程進行設計和實現(xiàn)了 。 ( 1) PushBoxActivity 的實現(xiàn) PushBoxActivity主要是游戲的控制器,其主要功能是各個 view之間的切換。 在這個程序中, 定義了一些變量 ,例如是否播放聲音的 變量 boolean isSound = true、勝利時的聲音 MediaPlayer winSound、儲存游戲地圖的變量 int map1[][]; int map2[][]、和選中地圖的變量int selectMap、鍵盤的狀態(tài)變量 int action以及最重要的 Handler myHandler = new Handler變量,該變量用于 接收各個 view的控制消息,然后根據(jù)消息 的類型進行不同的處理。 變量定義好之后,初始化游戲中的聲音,設置為循環(huán)播放。 JFGKJSHGKHGHGUIERHGKJDHGKJDGHJKHGJKHGJKSHJHSJK HJGJDSHKDHFJKSDHFJDHJKFHDJKFHJDSKFHJDFHJDSHFDSJKHFDSJKHFDJKFHDJKHFDSJKFHJDSKFHDSKFHDSJK 該程序最后的部分編寫的是鍵盤抬起 的處理辦法和鍵盤按下的處理方法。 鍵盤抬起和鍵盤按下的代碼如下: public boolean onKeyUp(int keyCode, KeyEvent event) if(keyCode == 19) action = action amp。 0x37。 if(keyCode == 20) action = action amp。 0x3B。 if(keyCode == 21) action = action amp。 0x3D。 if(keyCode == 22){ action = action amp。 0x3E。 return false。 public boolean onKeyDown(int keyCode, KeyEvent event) if(keyCode == 19) action = action | 0x08。 if(keyCode == 20) actio
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1