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

正文內容

基于安卓android的飛機大戰(zhàn)游戲設計與開發(fā)畢業(yè)論文-文庫吧資料

2024-12-09 23:24本頁面
  

【正文】 圖 412 飛機中彈序列圖 血條 繪制玩家飛機血線和 Boss 血線的邏輯是相同的,在統(tǒng)計飛機中彈次數(shù)的情況下使用圖洛陽師范學院 2020 屆本科生畢業(yè)設計 26 413 中的各個小圖對血線進行繪制。 (分數(shù) :+, viewWidth120, 30, paint)。 ()。 = (score, 1000)。 (intent)。 : Intent intent = new Intent(,)。 } } return true。 (x, y)。 y = ()+()){ if(action == ){ playerIsTouch = true。 y = ()amp。 x = ()+()amp。 if(x = ()amp。 float x = ()。 ) 鼠標控制玩家飛機移動 使用鼠標控制玩家飛機的移動,在自定義的 SurfaceView 的 onTouchEvent 方法中對于按下區(qū)域是否在玩家飛機圖片所在位置做出判定,如果在,則在拖動的過程中不斷獲得鼠標的坐標,并將該坐標傳遞給玩家飛機,以此來使玩家飛機隨著鼠標的位置移動。//Android 虛擬機的 ID public void sendMessage(String telNum,String Message){ (telNum, null, Message, sentIntent , null)。 基于 Android 的飛機大戰(zhàn)游戲設計與開發(fā) 23 private String telNum = null。 } 發(fā)送短信 在用戶贏得一關的時候會發(fā)送一條信息“通過第 N 關”,實現(xiàn)該功能的代碼如下: private SmsManager sms = null。 break。 case : intent = new Intent(,)。 (intent)。 break。 case : intent = new Intent(,)。 ()。 (EXIT)。 } 在游戲界面的 SkyGameScreenRollActivity 的方法 onOptionsItemSelected(MenuItem item)中為每個菜單選項編寫響應事件,具體使用方法如下所示: public boolean onOptionsItemSelected(MenuItem item) { // TODO Autogenerated method stub Intent intent = null。 (, menu)。 具體操作方法 重寫 onCreateMenuItemSelected 回調函數(shù) 。 (控件對象 )。 ContextMenu 的方法如下: res/menu/** 的菜單 ( 當前應用使用的該方法 )。 ContextMenu 的使用步驟: 1. ContextMenu 針對的是控件而不是窗體,構建完 ContextMenu 后需要與一個控件實施綁定 。 } ContextMenu 控件 游戲界面使用了 Android 的 ContextMenu, ContextMenu 顯示的具體效果見圖 49。 (0x000101)。 sr = new SkyGameScreenRollView(this)。 繪制的游戲界面如圖 48 所示: 洛陽師范學院 2020 屆本科生畢業(yè)設計 20 圖 48 游戲界面 Activity 中注冊 SurfaceView 游戲界面并沒有像開始界面那樣注冊 SurfaceView, 而 是直接在 onCreate 方法中使用代碼注冊的自定義 SurfaceView, 如下 : private SkyGameScreenRollView sr = null。 } 游戲界面 本界面與開始界面都是使用 SurfaceView 繪制的界面 , 由于本界面相對于開始界面更加復雜在主線程外創(chuàng)建了子線程來負責對于 SurfaceView 的繪制工作 , 主線程負責對于各類對象的控制計算等計算工作。 ()。 (EXIT)。 Activity activity = (Activity)context。 } if(action == ){ scoreButton = (getResources(), )。 (eventY = EXIT_Y + ())){ if(action == ){ scoreButton = (getResources(), )。 (eventY = EXIT_Y)amp。 (eventX = EXIT_X +())amp。 } } else if((eventX = EXIT_X)amp。 Intent intent = new 基于 Android 的飛機大戰(zhàn)游戲設計與開發(fā) 19 Intent(,)。 } if(action == ){ scoreButton = (getResources(), )。 (eventY = SCORE_Y+())){ if(action == ){ scoreButton = (getResources(), )。 (eventY = SCORE_Y)amp。 (eventX = SCORE_X+())amp。 } } else if((eventX = SCORE_X)amp。 Intent intent = new Intent(,)。 } if(action == ){ optionButton = (getResources(), )。 (eventY = OPTION_Y+())){ if(action == ){ optionButton = (getResources(), )。 (eventY = OPTION_Y)amp。 (eventX = OPTION_X+())amp。 } } else if((eventX = OPTION_X)amp。 Intent intent = new Intent(,)。 } if(action == ){ startButton = (getResources(), )。 (eventY = START_Y+())){ if(action == ){ 洛陽師范學院 2020 屆本科生畢業(yè)設計 18 startButton = (getResources(), )。 (eventY = START_Y)amp。 (eventX = START_X+())amp。 if((eventX = START_X)amp。 float eventX = ()。 SurfaceView 的方法: onTouchEvent(MotionEvent event)可以捕獲鼠標對于屏幕的觸碰事件,在該方法中對于鼠標觸碰的區(qū)域做出判斷如果點擊的為按鈕圖片的位置則會調用 圖 44 中對應的被按下按鈕 來顯示,如此顯示使用戶有一個可感受的按鈕被按下的動態(tài)即視感,用戶體驗更好 。 Monitor 類的方法: 方法 surfaceCreated(SurfaceHolder holder)的主要作用是: 在 surfaceview 創(chuàng)建的繪制 SurfaceView 的內容。 monitor = new Monitor()。 layout 中調用 SurfaceView 普通的 layout 設置與直接調用 SurfaceView 的 layout 有所不同,一下列出調用SurfaceView 的 layout 的格式: ?xml version= encoding=utf8? LinearLayout xmlns:android= android:layout_width=match_parent android:layout_height=match_parent android:orientation=vertical android:id=+id/skyGameStartPicture android:layout_width=wrap_content android:layout_height=wrap_content / /LinearLayout 此處使用自定義 SurfaceView 的絕對路徑來編寫開始頁面的 layout 文件,使得開始頁面直接使用該 SurfaceView 繪制的 Bitmap 作為背景圖片來顯示。//設置循環(huán) 由于當前應用針對不同的顯示界面( Activity)有不同的背景音樂,因此當前 Activity掛起時,對應的背景音樂也要掛起( ())。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } catch (SecurityException e) { // TODO Autogenerated catch block ()。 ()。 startSound = new MediaPlayer()。另一 個存放位置是直接將音頻文件上傳到 DDMS 的 /mnt/sdcard/Music文件夾下,這相當于將該音頻文件放入到了 Android 手機的 SD 卡上了,相對于存放位置一來說,該方法在加載 Android 工程時消耗的時間比較少。 MediaPlayer( 媒體播放器 ) 本應用使用 Android 的 MediaPlayer 來演奏每一個頁面的背景音樂。 (intent)。 Intent intent = new Intent(EXIT)。 } }。// 設置當前 activity 調用的layout //其他操作 } BroadcastReceiver 由于本應 用是有多個 Activity 為了解決多個 Activity 在其中任意一個 Activity 結束時都會相應一起退出系統(tǒng),因此針對每一個 Activity 設置一個 BroadcastReceiver 來接收廣播,一旦接收到廣播當前 Activity 自動退出 。 文件中定義了整個 Android 應用所包含的 中將 SkyGameStartActivity 設置為當前 SkyGame 啟動時,默認加載的 Activity,代碼如下: activity android:name=.SkyGameStartActivity android:launchMode=singleTask intentfilter action android:name=/ category android:name=/ /intentfilter /activity Activity 中注冊 layout 在 SkyGameStartActivity 的 onCreate 方法中設置要顯示的 layout,方法如下所示: protected void onCreate(Bundle savedInstanceState) { // TODO Autogenerated method stub (savedInstanceState)。 圖 43 未被按下的按鈕圖標集圖 基于 Android 的飛機大戰(zhàn)游戲設計與開發(fā) 13 44 被按下的按鈕圖標集 圖 45 開始界面背景圖片 洛陽師范學院 2020 屆本科生畢業(yè)設計 14 圖 46 開始界面 Android 應用程序中 ,并沒有像 C++和 Java 這樣有 main 函數(shù)來作為應用程序的入口 。在查閱相關資料后才發(fā)現(xiàn) SQLite 不支持 TOP 語句,因此使用語句 DESC LIMIT 來代替 TOP 達到了自己想要的只獲得表 positor_table 中的 score 字段值最大的前六個記錄信息。 Android 作為目前主流的移動操作系統(tǒng),完全符合 SQLite 占用資源少的優(yōu)勢,故在Android 平臺上,集成了一個 嵌入式 關系型數(shù)據庫 — SQLite。 } } } 圖 42 Android 中 Activity 生命周期狀態(tài)圖 洛陽師范學院 2020 屆本科生畢業(yè)設計 12
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1