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

正文內(nèi)容

基于安卓android的推箱子游戲的設(shè)計畢業(yè)論文-閱讀頁

2024-11-28 01:34本頁面
  

【正文】 d 應用。意圖負責對應用中一次操作的動作、動作對應的數(shù)據(jù)、附加數(shù)據(jù)進行描述, Android 則根據(jù)此意圖的描述,負責找到相應的組件,將意圖傳遞給它,并完成組件的調(diào)用。 例如,在一個聯(lián)系人維護的應 用中,當在一個聯(lián)系人列表屏幕 (假設(shè)對應的 Activity 為 listActivity)上,點擊某個聯(lián)系人后,希望能夠調(diào)出此聯(lián)系人的詳細信息,為了實現(xiàn)這個目的, listActivity 需要構(gòu)造一個 Intent,這個 Intent 用于告訴系統(tǒng),要做 “ 查看 ” 動作,此動作對應的查看對象是 “ 某聯(lián)系人 ” ,然后調(diào)用 startActivity(intent intent),將構(gòu)造的 Intent 傳入,系統(tǒng)會根據(jù)此 intent 中的描述,到 Intent要求的 Activity。 Intent 的抽象描述 在 Android參考文檔中,對意圖的定義是執(zhí)行某操作的一個抽象描述。此外,還可以根據(jù)應用的需要,定義自己的動作,并可定義相應的活動來處理自定義的動作。 另外,除了動作和數(shù)據(jù)這兩個重要屬性外,還有一些附加屬性 : 類別 :被執(zhí)行動作的附加信息。而 ALTERNATIVECATEGORY表示當前的意圖是一系列的可選動作中的一個,這些動作可以在同一個數(shù)據(jù)上執(zhí)行。一般意圖的數(shù)據(jù)類型能夠根據(jù)數(shù)據(jù)本身進行判定,但是通過設(shè)置這個屬性,可以強制采用指定的類型。通常 Android 會根據(jù)意圖中包含的其它屬性的信息,比如動作、數(shù)據(jù) /數(shù)據(jù)類型、類別進行查找,最終找到一個與之匹配的目標組件。使用附加信息可以為組件提供擴展信息,比如,如果要執(zhí)行“發(fā)送電子郵件”這個動作,可以將電子郵件的標題、正文等保存在附加信息里,傳給電子郵件發(fā)送組件。這種語言使系統(tǒng)能夠理解諸如“查看某聯(lián)系人的詳細信息”之類的短語。應用也可以 提供自己的活動來處理已經(jīng)存在的這樣的“短語”,從而改變這些“短語”的行為。通過指定具體的組件類,通知應用啟動對應的組件。這些意圖需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在所有的可用組件中,確定滿足此意圖的組件。 意圖解析機制主要是通過查找己注冊在 中的所有意圖過濾器及其中定義的意圖,最終找到匹配的意圖。 如果意圖沒有提供數(shù)據(jù)類型,系統(tǒng)將從數(shù)據(jù)中得到數(shù)據(jù)類型。 如果意圖中的數(shù)據(jù)不是 content:類型的 URI,而且意圖也沒有明確指定它的數(shù)據(jù)類型,將根據(jù)意圖中數(shù)據(jù)的格式 (比如 :或者 mailto:)進行匹配。 如果意圖指定了一個或多個類別,這些類別必須全部出現(xiàn)在組建的類別列表中。 13 Android 活動的生命周期 Android 平臺是個手機作業(yè)系統(tǒng)?,F(xiàn)在用戶使用智能手機,大多已習慣使用多工的作業(yè)系統(tǒng) (如windowsMobile),可以在用手機聽音樂的同時,執(zhí)行其他多個程序。每多執(zhí)行一個應用程序,就會多耗費一些系統(tǒng)內(nèi)存,而手機里的內(nèi)存是相當有限的。為了解決 這個問題, Android 引入了一個新的機制 — 生命周期。通常,每一個應用程序 (入口一般會是一個活動的 onCreate 方法 ),都會占據(jù)一個進程。不管是使用者或開發(fā)者,都無法確定應用程序何時會被回收。 一個活動類別除了 OnCreate方法之外,還預先定義了 onPause(暫停 )、 OnResume(繼續(xù) )等的基本方法,當從一個活動切換到另一個活動的時候,原來的活動將經(jīng)過一連串的狀態(tài)改變。要讓用戶有好的使用體驗,活動需要在各個周期中負責保管狀態(tài)、恢復狀態(tài)、傳送資料等工作。主要有四種狀態(tài) : (l)活動狀態(tài) 活動狀態(tài)是指用戶啟動應用程序或活動后,活動運行中的狀態(tài)。其他的活動都處于未啟動、停止或 是暫停的狀態(tài)。當警告對話框或電話來了時,都會讓原來運行的活動退到背景畫面?;顒犹幵跁和顟B(tài)時,用戶無法與原活動互動。通過按返回鍵,可以調(diào)出所有處于停止狀態(tài)的應用程序列表。 14 (4)已回收或未啟動狀態(tài) 已回收或未啟動狀態(tài)是指活動尚未被啟動、已經(jīng)被手動終止或己經(jīng)被系統(tǒng) 回收的狀態(tài)。如果是被系統(tǒng)回收,可能是因為內(nèi)存不足了,所以系統(tǒng)根據(jù)內(nèi)存不足時的回收規(guī)則,將處于停止狀態(tài)的活動所占用的內(nèi)存回收。創(chuàng)建時分配資源,銷毀時釋放資源。相反 地,當活動運行到停止狀態(tài)時,這個活動就會從屏幕上消失。 (3)用戶取得屏幕的控制權(quán) (繼續(xù) /暫停 ) 當有個警告對話框、短信、電話等信息進入時,原來的活動會進入暫停狀態(tài),暫時放棄屏幕的控制 15 權(quán),被中斷到背景去,將前景交給優(yōu)先級高的事件。 活動的運作流程 由實際運行來看,我們可以歸納出所有 Android應用程序都遵循的運作流程 : (l)一般啟動 啟動一個活 動的基本流程為 onCreate 一 onstart 一 onResume。在一切就緒后,取得屏幕的控制權(quán) (恢復狀態(tài) ),用戶可以開始使用這個程序。該流程首先凍結(jié)原來的活動,再交出屏幕控制權(quán) 。 (3)回到原來活動 回到 原來活動的基本流程為 onPause(2)一 onRestart(1)一 onstart(l)一 onResume(1)一 onstop(2)一 onDestroy(2)。 ( 4)退出結(jié)束 退出結(jié)束的基本流程為 onPause一 onStop 一 onDestroy。 (5)回收后再啟動 回收后再啟動的基本流程為 oncreate 一 onstart 一 onresume。 當在模擬器上已經(jīng)執(zhí)行過多個應用程序,只要按下返回鍵,就會開啟最近一次開啟過的活動。 4 系統(tǒng) 設(shè)計 與實現(xiàn) 16 游戲的策劃 游戲的策劃主要包括游戲的情節(jié)、目標受眾、運行的目標平臺、采用的呈現(xiàn)技術(shù)、操作方式等幾個方面。 游 戲情節(jié),本游戲為輕量級的益智游戲,因此不存在很復雜的情節(jié)。 目標受眾 ,這個游戲受眾面比較廣,應該是老少皆宜的。 運行的目標平臺,本游戲的目標平臺為 。 ,本游戲采用 45度視角 。 由于該游戲使用 Eclipse作為主要的開發(fā)工具,所以在開發(fā)之前需要檢查 Eclipse是否已經(jīng)配置好。游戲場景一般是設(shè)定在空間狹小的倉庫中,要求把箱子擺放到指定位置。 該游戲的功能流程圖如圖 41所示: 17 圖 41 功能流程 具體的功能如下: 1)開始游戲,點擊此圖標開始游戲。 3)游戲說明,簡單介紹此游戲的基本功能和玩法。 推箱子游戲用例分析 ( 1)推箱子游戲主用例分析 推箱子游戲主用例主要分為一些菜單選項的設(shè)置和玩游戲的整個過程。 用例 1 描述:菜單管理 運行程序 進入游戲 控制游戲聲音的開關(guān) 彈出游戲規(guī)則的說明框 退出程序 開始游戲 聲音開關(guān) 游戲說明 退出游戲 游戲歡迎界面 18 執(zhí)行者:玩家 前置條件: android 手機用戶、安裝有推箱子應用程序 后置條件 :可以進行相關(guān)游戲選項的設(shè)置 基本路徑: 1)運行應用程序 2)進入菜單界面 3)進行相關(guān)游戲選項的設(shè)置或選擇開始游戲 用例 2 描述:玩游戲 執(zhí)行者:玩家 前置條件:開始游戲 后置條件:游戲成功 基本路徑 1)運行應用程序 2)進入菜單并選擇游戲開始 3)通過手機硬鍵盤控制小人移動從而將箱子移動到指定位置 用例 3 描述:游戲聲音開關(guān) 玩家可以通過游戲菜單的聲音開關(guān)選項進行游戲聲音開關(guān)的設(shè)置。 ( 1) 共有類 共有類: (1) PushBoxActivity. (2) KeyThrad. ( 2) 歡迎界面相關(guān)類 歡迎界面相關(guān)類: 1) WeleView. 2) WeleViewDrawThread. 3) WeleViewGoThread. ( 3) 菜單界面相關(guān)類 菜單界面相關(guān)類: 1) MenuView. 2) MenuViewDrawThread. 3) MenuViewGothread. 20 ( 4) 游戲界面相關(guān)類 游戲界面相關(guān)類: 1) GameView. 2) MySprite. 3) SpriteThread. 4) SpriteMoveThread. (5) BoxThread. (6) MapList. (7) GameViewDrawThread. 游戲界面的框架設(shè)計 與實現(xiàn) 游戲界面的框架如圖 43 圖 43 游戲界面的框架 在游戲框架搭建好之后,就要開始游戲的地圖 、各個實體以及相關(guān)線程進行設(shè)計和實現(xiàn)了 。 在這個程序中, 定義了一些變量 ,例如是否播放聲音的變量 boolean isSound = true、勝利時的聲音 MediaPlayer winSound、儲存游戲地圖的變量 int map1[][]; int map2[][]、和選中地圖的變量int selectMap、鍵盤的狀態(tài)變量 int action以及最重要的 Handler myHandler = new Handler變量,該變量用于 接收各個 view的控制消息,然后根據(jù)消息 的類型進行不同的處理。 21 該程序最后的部分編寫的是鍵盤抬起的處理辦法和鍵盤按下的處理方法 。 0x37。 0x3B。 0x3D。 0x3E。 public boolean onKeyDown(int keyCode, KeyEvent event) if(keyCode == 19) action = action | 0x08。 if(keyCode == 21) action = action | 0x02。 ( 2) KeyThread的實現(xiàn) KeyThread主要負責定時檢測 PushBoxActivity中鍵盤狀態(tài)碼,負責鍵盤事件。該類的重點在于監(jiān)聽的運行,監(jiān)聽的運行方法先判斷是否需要監(jiān)聽,當需要監(jiān)聽是,判斷其為走路或者推箱子,得到鍵盤的狀態(tài)碼,賦值到變量 action中,通過處理運算,判斷哪個按鍵被按下。其中在箱 子移動時,需啟動箱子移動線程,進行箱子的無極移動,在此過程中將鍵盤的監(jiān)聽標志位設(shè)為 false,即失去屏幕監(jiān)聽。 向上鍵被按下時的鍵盤監(jiān)聽方法代碼如下: while(flag){ if(keyFlag){//是否需要鍵盤監(jiān)聽 boolean typeFlag = true。推箱子或者走路 action = 。 0x08) != 0) KEY_UP = true。 } if((action amp。 } else{ KEY_DOWN = false。 0x02) != 0) KEY_LEFT = true。 } if((action amp。 } else{ KEY_RIGHT = false。 if(!( =0)) if([][] == 1 || [][] == 3) if([][] == 0){ if([][] == 2 || [][] == 3) [][] = 3。 } [][] = 0。 = 。 ()。 } } } ( 3) WeleView 的實現(xiàn) WelView負責前臺的顯示。程序包括了引入的各個類,界面中各個圖片引用的聲明,各個物體的坐標, WeleView的構(gòu)造器 ,繪制線程 。 ( 4) WeleViewDrawThread的實現(xiàn) WeleViewDrawThread繪制 。 在此程序的構(gòu)造器中,得到WeleView和 surfaceHolder的引用。界面的運行方法為先講畫布置空,鎖定畫布,然后繪制畫布,最后解鎖畫布,并且定義畫布每隔 200ms循環(huán)一次。 該程序負責的是 WeleView中物體運動的規(guī)律的 編寫。木頭移動完畢之后狀態(tài)值定義為 1,即鐵門移動,鐵門移動完畢之后狀態(tài)值定義為 2,即墻的移動,墻移動完畢后狀態(tài)值定義為 3,即向PushBoxActivity發(fā)送 Handler類型為 1消息,通知 PushBoxActivity切屏,也就是動畫界面完成。程序有該類中引用到的圖片資源進行聲明,該類的構(gòu)造器,界面的繪制工作的編寫 ,屏幕監(jiān)聽的方法 。 界面的繪制工作只需將所有的圖片繪制到指定位置即可,而聲音狀態(tài)圖片會根據(jù) PushBoxActivity中聲音狀態(tài)值進行繪制。 當點擊開始游戲圖片時會關(guān)閉游戲聲音,并且向 PushBoxActivity發(fā)送 Hander類型為 2的消息。 (7) MenuViewDrawThread的實現(xiàn) MenuViewDrawThread 主要負責刷幀。 (8) MenuViewGoThread的實現(xiàn) MenuViewGoThread 主要負責圖片的移動,即菜單界面的背景的滾動 。 (9) GameView的實現(xiàn) GameView 主要負責前臺的顯示,負責繪制游戲 中所有的信息 。 該類同樣繼承自 SurfaceView,并且實現(xiàn) 。在構(gòu)造器中,得到 PushBoxActivity的引用,初始 化刷幀線程和圖片資源。 游戲畫面繪制的代碼如下: if(status == 0) (true)。 for(int i=0。 i++) for(int j=0。 j++) int X = initX+36*j15*i。 if([i][j] == 0) ((255, 220, 220, 220)
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1