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

正文內(nèi)容

基于android的飛機(jī)大戰(zhàn)游戲設(shè)計(jì)與開發(fā)-在線瀏覽

2024-08-08 00:16本頁面
  

【正文】 用Android的SurfaceView繪制游戲界面,游戲的主界面美觀,賞心悅目,以提高玩家對(duì)游戲的興趣。作為游戲背景音樂的存在是不可或缺的,本應(yīng)用在不同的操作界面演奏不同的背景音樂,玩家還可以在設(shè)置界面設(shè)置背景音樂的大小。本應(yīng)用為Android飛機(jī)大戰(zhàn)游戲,主要有6個(gè)操作界面分別為開始界面,游戲界面,設(shè)置界面,得分界面,Win界面,Lose界面。游戲是智能機(jī)不可或缺的應(yīng)用之一,“水果忍者”、“憤怒的小鳥”等Android游戲應(yīng)用的成功,讓人看到手機(jī)游戲在Android平臺(tái)上的巨大發(fā)展空間。基于Android的飛機(jī)大戰(zhàn)游戲設(shè)計(jì)與開發(fā)LUOYANG NORMAL UNIVERSITY 2013屆本科畢業(yè)設(shè)計(jì)基于Android的飛機(jī)大戰(zhàn)游戲設(shè)計(jì)與開發(fā)院(系)名稱信息技術(shù)學(xué)院專 業(yè) 名 稱 軟件工程 學(xué)生姓名學(xué)號(hào)指導(dǎo)教師XXX副教授完 成 時(shí) 間2013年5月摘要相信Android(安卓)已經(jīng)為人們熟知,經(jīng)過2011年的洗禮,Android智能手機(jī)火速上位,甚至說現(xiàn)在手機(jī)系統(tǒng)由IOS和Android平分也不為過。隨著Android智能手機(jī)在中國內(nèi)地的風(fēng)靡,基于Android平臺(tái)的應(yīng)用開發(fā)也逐漸成為IT開發(fā)的一大熱門?;诖?,采用Eclipse和Android ADT作為集成開發(fā)平臺(tái),開發(fā)本Android游戲APP。玩家可以選擇自己進(jìn)入設(shè)置界面對(duì)游戲進(jìn)行設(shè)置,或進(jìn)入的分界面查看自己本次操作是否在前六名等操作。由于Android控件Activity的生命周期的特點(diǎn),本應(yīng)用會(huì)在被點(diǎn)擊“EXIT”按鈕的Activity中發(fā)送一個(gè)EXIT的廣播,所有的本應(yīng)用的Activity收到廣播后會(huì)自動(dòng)結(jié)束,使得本應(yīng)用能夠完全的退出系統(tǒng)。游戲的控制模塊應(yīng)該做到易懂、易操作,以給玩家一個(gè)很好的游戲環(huán)境。 Mobile Phone Games 。SQLite 目 錄第1章 緒論 1 系統(tǒng)開發(fā)背景 1 系統(tǒng)研究目的和意義 1 可行性分析 1第2章 系統(tǒng)需求分析 2 用戶功能需求分析 2 系統(tǒng)性能要求 3 業(yè)務(wù)流程分析 3第3章 系統(tǒng)總體設(shè)計(jì) 4 系統(tǒng)功能模塊分析 4 4 APP應(yīng)用設(shè)置 4 玩家信息管理 4 系統(tǒng)類關(guān)系圖 4 系統(tǒng)總體設(shè)計(jì) 6第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 8 開發(fā)工具簡(jiǎn)介 8 數(shù)據(jù)庫設(shè)計(jì) 8 DAO(數(shù)據(jù)庫訪問對(duì)象) 9 SQLite數(shù)據(jù)庫 12 游戲界面設(shè)計(jì) 12 12 19 26 得分界面 34 Win界面 41 Lose界面 46第5章 軟件測(cè)試和調(diào)試 51 白盒測(cè)試法 51 黑盒測(cè)試法 52第6章 工作總結(jié)和展望 53參考文獻(xiàn) 54致 謝 55III第1章 緒論 系統(tǒng)開發(fā)背景 隨著科技的發(fā)展,現(xiàn)在手機(jī)的功能已不僅僅是簡(jiǎn)單的接打電話、收發(fā)短信了。因此,為了迎合眾多用戶的需求并適應(yīng)現(xiàn)在手機(jī)的規(guī)模,我們開發(fā)出一套適合各階層人士的具有很強(qiáng)的娛樂性和交互性的飛機(jī)小游戲。因?yàn)樗奶厥庠谟谌藗冊(cè)谕嬗螒虻臅r(shí)候的過程中使愛不釋手??梢哉f該游戲的優(yōu)勢(shì)在于它的簡(jiǎn)單易行,不論是手機(jī),還是小游戲機(jī),都能很快順利的運(yùn)行。這樣的小游戲剛好迎合了他們的需求。這款小型的手機(jī)游戲,可以讓我們隨時(shí)隨地都能享受游戲,從繁重的日常生活中解脫出來。游戲的控制模塊應(yīng)該做到易懂、易操作,以給玩家一個(gè)很好的游戲環(huán)境。Eclipse是一個(gè)開放的源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。雖然大都數(shù)用戶很樂于Eclipse當(dāng)作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標(biāo)卻不僅限于此。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。Android專門針對(duì)Eclipse開發(fā)做了ADT(Android Developer Tools)開發(fā)插件,因此該應(yīng)用使用Eclipse開發(fā)完全可行。一般用戶經(jīng)過幾分鐘練系都可以熟悉本游戲的規(guī)則。單機(jī)手機(jī)游戲的最大特點(diǎn)即為易操作性,用戶在不看說明的情況下也能夠玩,并且在玩過幾遍之后即熟悉本游戲的規(guī)則。 業(yè)務(wù)流程分析依據(jù)系統(tǒng)的需求分析,得到系統(tǒng)的流程圖如圖23所示:圖23 系統(tǒng)流程圖 第3章 系統(tǒng)總體設(shè)計(jì) 系統(tǒng)功能模塊分析 當(dāng)前應(yīng)用使用的SurfaceView來繪制的頁面因此相對(duì)來說大部分邏輯都是由Activity來做處理的。 各個(gè)操作界面布局適當(dāng),顏色搭配等要美觀。用戶在任何一個(gè)Activity點(diǎn)擊“EXIT”按鈕或ContextMenu中的“退出”都要成功的將當(dāng)前應(yīng)用掛起的多個(gè)Acitivity和當(dāng)前Android虛擬機(jī)顯示的Activity順利的停止,并銷毀。 使用SeekBar來控制系統(tǒng)音量,使用RadioGroup來控制飛機(jī)難度。 系統(tǒng)類關(guān)系圖 系統(tǒng)實(shí)體類、邊界類、控制類之間的關(guān)系如圖31所示:圖31 實(shí)體類、控制類、邊界類之間的關(guān)系各個(gè)界面類之間的關(guān)系如圖32所示:圖32 APP邊界類關(guān)系 系統(tǒng)總體設(shè)計(jì)系統(tǒng)的中只有玩家一種用戶,不必向其他的網(wǎng)站或者是教務(wù)系統(tǒng)一樣進(jìn)行身份驗(yàn)證等操作。用戶的操作總體可以歸并成如33玩家用例圖所顯示的內(nèi)容,子彈的用例圖如圖34所示,飛機(jī)的用例圖如圖35所示。圖33 玩家用例圖圖34 子彈用例圖圖35 飛機(jī)用例圖 第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 開發(fā)工具簡(jiǎn)介Android開發(fā)工具(ADT)是一個(gè)插件的Eclipse IDE,目的是給開發(fā)人員提供一個(gè)強(qiáng)大的、集成的環(huán)境中構(gòu)建Android應(yīng)用程序。在Eclipse ADT發(fā)展與高度推薦,是一種最快的方式開始。使用Eclipse集成Android ADT做Android應(yīng)用開發(fā)是目前企業(yè)中常用的Android應(yīng)用開發(fā)方式。本應(yīng)用只是在針對(duì)用戶得分及用戶姓名等基本信息進(jìn)行存儲(chǔ),因此數(shù)據(jù)庫非常簡(jiǎn)單,僅僅是設(shè)計(jì)了一個(gè)用來存儲(chǔ)用戶排名信息的表結(jié)構(gòu)。CREATE TABLE [positor_table] (id INTEGER PRIMARY KEY,name VARCHAR(40) NOT NULL,score INTEGER NOT NULL)圖41 positor表Android中自帶的SQLiteOpenHelper 作用:一個(gè)幫助類,幫助創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫版本管理。在onCreate()方法中創(chuàng)建表positor_table。// CREATE TABLE [positor_table] (id INTEGER PRIMARY KEY,name VARCHAR(40) NOT NULL,score INTEGER NOT NULL)。 } DAO(數(shù)據(jù)庫訪問對(duì)象)本應(yīng)用中的數(shù)據(jù)庫訪問對(duì)象SkyGameDataBaseDao采用了單例模式,以保證當(dāng)前應(yīng)用中只存在一個(gè)DAO數(shù)據(jù)庫訪問對(duì)象。public class SkyGameDataBaseDao { private static SkyGameDataBaseDao instance = null。 private Context context = null。 public static SkyGameDataBaseDao getInstance (Context context){ if(instance == null){ instance = new SkyGameDataBaseDao(context)。 } private SkyGameDataBaseDao(Context context){ = context。 while(( = ())==null)。 ContentValues values = new ContentValues()。 (name, ())。 } try { ()。 ()。 }finally{ ()。 String sql = ().getString()。 ()。 count++。 while(()){ count ++。 } } return players。 if(!()){ ()。 (sql)。 } catch (SQLException e) { // TODO Autogenerated catch block ()。 } } public void close(){ if(()){ ()。由于它占用的資源非常少,所以在很多嵌入式設(shè)備都是用SQLite來存儲(chǔ)數(shù)據(jù)。由于SQLite是輕量級(jí)的關(guān)系型數(shù)據(jù)庫,它支持的SQL語句也是有限的,在使用SQL語句獲得前6名玩家的信息時(shí)直接使用了SQLite不支持的TOP語句引起了異常。SELECT * FROM [positor_table] ORDER BY [score] DESC LIMIT 6 游戲界面設(shè)計(jì)使用SurfaceView將圖43中的未被按下的按鈕和圖45游戲開始界面背景圖片繪制成游戲開始界面圖46。Android應(yīng)用程序提供的是入口Activity,而非入口函數(shù)。 setContentView()。Activity接收到廣播后退出的代碼如下所示:private BroadcastReceiver exitReceiver = new BroadcastReceiver(){ Override public void onReceive(Context context, Intent intent) { // TODO Autogenerated method stub ()。 發(fā)送廣播而當(dāng)前Activity在被按下“EXIT”或者“退出”按鈕時(shí),會(huì)向外界發(fā)送一個(gè)廣播,之后結(jié)束自己:Activity activity = (Activity)context。 (EXIT)。 ()。背景音樂可以存放在兩個(gè)位置,一個(gè)是當(dāng)前工程的/res/raw目錄下,如果是存放在該目錄下的話,在install當(dāng)前Android工程時(shí),需要耗費(fèi)非常的時(shí)間將此類音頻文件上傳到Android虛擬機(jī)中。具體向虛擬機(jī)中上傳文件如圖47所示:圖47 DDMS向Android虛擬機(jī)中上傳文件MediaPlayer使用方法:private MediaPlayer startSound = null。 try { /* * 從sdcard中獲得音頻文件的路徑 */ (/mnt/sdcard/Music/)。 } catch (IllegalArgumentException e) { // TODO Autogenerated catch block ()。 } catch (IllegalStateException e) { // TODO Autogenerated catch block ()。 } (true) 。而在當(dāng)前Activity銷毀(destory)時(shí),需要對(duì)背景音樂進(jìn)行停止(())和回收(())操作。SurfaceView所需要設(shè)置下它的SurfaceHolder 和Monitor(實(shí)現(xiàn)CallBack接口)屬性holder = getHolder()。 (monitor)。方法surfaceDestroyed(SurfaceHolder holder)的主要作用是:在surfaceview銷毀時(shí)對(duì)于當(dāng)前SurfaceView中的一些對(duì)象做銷毀處理。 public boolean onTouchEvent(MotionEvent event) { // TODO Autogenerated method stub int action = ()。 float eventY = ()。amp。amp。amp。 drawStartButton()。 drawStartButton()。 (intent)。amp。amp。amp。 drawOptionButton()。 drawOptionButton()。 (intent)。amp。amp。amp。 drawScoreButton()。 drawScoreButton()。 (intent)。amp。amp。amp。 drawExitButton()。 drawExitButton()。 Intent intent = new Intent(EXIT)。 (intent)。 } } return true。由于游戲界面涉及到的類比較多,且邏輯復(fù)雜,所以在這里只介紹下使用的空間、技術(shù)以及業(yè)務(wù)邏輯,粘貼部分技術(shù)代碼。//自定義surfaceviewprotected void onCreate(Bundle savedInstanceState) { // TODO Autogenerated method stub (savedInstanceState)。 (new LayoutParams(, ))。 setContentView(sr)。圖49 ContextMenu效果ContextMen
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1