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

正文內(nèi)容

射擊類手機(jī)游戲的研究與設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-10-01 14:48 本頁面
 

【文章內(nèi)容簡介】 頻的路徑等。 WinActivity 通關(guān)界面的定義類,定義了通關(guān)界面的參數(shù),以及界面底部的返回主菜單按鈕的操作等。 WinView 通關(guān)界面布局文件,定義了界面的布局,以及背景圖片、背景音樂等。 界面類表示著在游戲中出現(xiàn)的各個界面,其中也定義了各個實(shí)體在游戲界面中的顯示方法。界面類在 MVC 架構(gòu)中充當(dāng)著 view 層。 工具類 包 表 34 工具類 DButil 連接數(shù)據(jù)庫的工具類,定義了連接數(shù)據(jù)庫的方法,以及游戲中需要用到的一些數(shù)據(jù)庫的操作等。 RamCheck 碰撞檢測的工具類,定義了兩個矩形是否碰撞到的方南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 17 法。 工具類表示著在游戲中一些公用方法的類,單獨(dú)提取出來便于代碼的復(fù)用。 程序結(jié)構(gòu) 程序的類文件 圖 33 程序類文件 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 18 程序的圖片資源文件 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 19 圖 34 程序圖片資源文件 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 20 圖 35 程序圖片資源 文件 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 21 程序的音頻資源文件 圖 36 程序音頻資源文 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 22 如圖所示,本程序運(yùn)行在我的手機(jī)的 環(huán)境下 圖 37 關(guān)于手機(jī)界面 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 23 片頭動畫實(shí)現(xiàn) 設(shè)計(jì)方法和代碼 歡迎動畫界面有一個點(diǎn)擊檢測事件,點(diǎn)擊屏幕任意處跳過片頭動畫進(jìn)入菜單選擇界面。 圖 38 片頭動畫 以下為主要代碼:(具體作用已注釋) public class VideoActivity extends Activity implements { String path = /sdcard/plane/。 //定義視頻在手機(jī)里的路徑 SurfaceHolder surfaceHolder。 //surface的抽象接口 MediaPlayer mediaPlayer。 //音頻,視頻播放對象 SurfaceView surfaceView。 //surfaceView繪圖容器 int i = 1。 public void onCreate(Bundle savedInstanceState) { requestWindowFeature()。 getWindow().setFlags(, )。 //實(shí)現(xiàn)全屏 (savedInstanceState)。 //調(diào)用父類的 onCreate方法 setContentView()。 //調(diào)用 XML的布局文件 surfaceView = (SurfaceView) findViewById()。//獲得xml文件里的 surfaceView的對象 surfaceHolder = ()。//SurfaceHolder接口來訪Surface (this)。//添加回調(diào) mediaPlayer = new MediaPlayer()。//實(shí)例化 mediaPlayer (new (){ 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 24 @Override public void onCompletion(MediaPlayer mediaPlayer) { Intent intent = new Intent(, )。//封裝跳轉(zhuǎn) startActivity(intent)。//跳轉(zhuǎn) ()。//結(jié)束當(dāng)前界面 } })。 }//檢測視頻播放完成 @Override public boolean onTouchEvent(MotionEvent event) { if (() == 1) { Intent intent = new Intent(, )。 startActivity(intent)。 ()。 } return (event)。 }//觸摸事件 private void playVideo(String strPath) {// 自定義播放影片函數(shù) ()。 (surfaceHolder)。// 設(shè)置 Video影片以SurfaceHolder播放 try { (strPath)。//設(shè)置視頻路徑 ()。//視頻準(zhǔn)備緩沖 } catch (Exception e) { ()。 } if (!() amp。amp。 i == 1) { ()。//視頻開始播放 i++。 } } public void surfaceCreated(SurfaceHolder arg0) { playVideo(path)。//界面生成的時(shí)候開始播放 } ...... 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 25 主菜單界面 設(shè)計(jì)方法和代碼 主菜單界面有一個動態(tài)的飛機(jī)效果,下方有四個按鈕,分別為,開始游戲,聲音開關(guān)(當(dāng)前為開啟,則顯示關(guān)閉聲音,反之則相反 ),排行榜按鈕,道具商店。 以下為主要代碼:(具體作用已注釋) public class IndexActivity extends Activity { public static boolean voice = true。 //聲音開啟 public static int money。 //總金錢數(shù) public static int supernum。 //超級子彈的數(shù)量 public static int planelevel。 //飛機(jī)等級 public static int bulletlevel。 //子彈等級 public static int level = 1。 //關(guān)卡等級 public static int maxlevel = 1。 //已通過最大關(guān)卡數(shù) public static int btnpressed_soundid。 //按鈕按下的提示音 public static SoundPool mSoundPool。 //聲音的 pool public static Vibrator vibrator。 //振動器 public static int score = 0。 //總積分初始為 0 private IndexView indexView。 private int i = 1, x = 0, y = 0。 public DButil dbUtil = null。 //實(shí)例化數(shù)據(jù)庫連接對象 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 26 圖 39 主菜單 @Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 dbUtil = new DButil(this)。 Cursor cursor = ()。 //獲得游標(biāo) vibrator = (Vibrator)getSystemService()。 //獲得振動器 需在 中配置 while (()) { //游標(biāo)指針指向下一個 maxlevel = ((maxlevel))。 int sound = ((sound))。 if (sound == 1) { voice = false。 //sound在數(shù)據(jù)庫中 0表示開啟 1表示關(guān)閉 i = 0。 } else { voice = true。 i = 1。 } money = ((money))。 supernum = ((supernum))。 planelevel = ((planelevel))。 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 27 bulletlevel = ((bulletlevel))。 } ()。//關(guān)閉連接 indexView = new IndexView(this)。 mSoundPool = new SoundPool(2, , 100)。 btnpressed_soundid = (this, , 0)。 requestWindowFeature()。 getWindow().setFlags(, )。//全屏 setContentView(indexView)。 } @Override public boolean onTouchEvent(MotionEvent event) { if (() == 1) {//指代觸摸離開時(shí) x = (int) ()。 y = (int) ()。//獲得離開時(shí)的坐標(biāo) // 開始游戲 if (x = amp。amp。 x = + () amp。amp。 y = 650 amp。amp。 y = 650 + ()) {//如果坐標(biāo)在開始游戲的按鈕內(nèi) if () { (btnpressed_soundid, 1, 1, 0, 0, 1)。 //播放按下的提示音 } Intent intent = new Intent(, )。//封裝跳轉(zhuǎn)到游戲界面 startActivity(intent)。//發(fā)起跳轉(zhuǎn) ()。//關(guān)閉當(dāng)前界面 } // 聲音開關(guān) if (x = amp。amp。 x = + () amp。amp。 y = 800 amp。amp。 y = 800 + ()) {//坐標(biāo)在聲音開關(guān)按鈕上 i++。 if (i % 2 == 0) { = ( (), )。 = false。 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 28 (1)。//關(guān)閉數(shù)據(jù)庫中的 sound為 1 關(guān)閉 ()。 //暫停背景聲音 } else { = ( (), )。 (btnpressed_soundid, 1, 1, 0, 0, 1)。 = true。 (0)。//開啟數(shù)據(jù)庫中的 sound為 0 開啟 ()。//開啟聲音 } } // 排行榜 if (x = amp。amp。 x = + () amp。amp。 y = 950 amp。amp。 y = 950 + ()) {//坐標(biāo)在排行榜上 if () { (btnpressed_soundid, 1, 1, 0, 0, 1)。 } Intent intent = new Intent(, )。 startActivity(intent)。 ()。 } // 道具商店 if (x = amp。amp。 x = + () amp。amp。 y = 1100 amp。amp。 y = 1100 + ()) {//坐標(biāo)在道具商店上 if () { (btnpressed_soundid, 1, 1, 0, 0, 1)。 } Intent intent = new Intent(, )。 startActivity(intent)。 ()。 } } return (event)。 } } 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 29 開始游戲界面 設(shè)計(jì)方法和代碼 本游戲采用的是 2D 圖像呈現(xiàn)技術(shù),而且表現(xiàn)形式為縱向的滾屏游戲,且在貼圖時(shí)采用多層貼圖,增加游戲界面的層次感。 選擇開始游戲,在運(yùn) 行的時(shí)候,開始游戲就會自動初始化 GameView 開始運(yùn)行游戲。在運(yùn)行之前,先進(jìn)入關(guān)卡選擇界面,選擇好后,進(jìn)入對應(yīng)的關(guān)卡界面,加載游戲場景各種圖片。運(yùn)行效果如下: 圖 310 開始游戲 public class GameView1 extends SurfaceView implements , Runnable { public static int bossTime = 10。//當(dāng)消滅掉此數(shù)量的敵機(jī)時(shí)出現(xiàn) boss public static boolean choiceSuccess = false。//標(biāo)記是否處于過關(guān)后
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1