金玉寶

摘要:本文設(shè)計(jì)了一個(gè)簡(jiǎn)單的這種游戲,采用的語(yǔ)言是JAVA,在Android平臺(tái)上運(yùn)行,使用Eclipse制作。
[關(guān)鍵詞]JAVA Android Eclipse 手機(jī)游戲線性布局
1背景
最近幾年以來(lái),Android一直比較熱門,雖然并不是手機(jī)系統(tǒng)里最優(yōu)秀的,但卻是大多數(shù)手機(jī)廠商都在用的,盡管近幾年小程序正在興起,但手機(jī)應(yīng)用的開發(fā)仍有很強(qiáng)的活力。隨著Android的不斷更新,其性能也在不斷變好,在這里做些游戲還是很有價(jià)值的。
2游戲結(jié)構(gòu)
(1)要有進(jìn)入游戲的界面,可以選擇各個(gè)模式。
(2)有專門的游戲界面,可以控制左右。
(3)游戲結(jié)束后要能顯示分?jǐn)?shù)。
3設(shè)計(jì)目標(biāo)
(1)在布局文件main.xml中做好主界面,
主界面提供冒險(xiǎn)模式和時(shí)間模式兩個(gè)模式的選擇,還有提供其他一些諸如音樂,歷史分?jǐn)?shù)顯示的功能。如圖1所示。
(2)分別用兩個(gè)布局文件gamew.xml和gamet.xml表示無(wú)盡模式和時(shí)間模式兩個(gè)模式的游戲界面,因?yàn)閮蓚€(gè)界面雖然相像但是計(jì)分方式不一樣,而用算法實(shí)現(xiàn)有些麻煩,所以索性建立兩個(gè)布局文件。
(3)設(shè)計(jì)計(jì)算游戲結(jié)束的算法,在“飛行器”轉(zhuǎn)到“小行星”后會(huì)提示游戲結(jié)束,這時(shí)要根據(jù)情況彈出gameoverw.xml或gameovert.xml來(lái)顯示本次得分和歷史得分。
(4)所有布局中設(shè)計(jì)的按鈕,圖片框等都要寫好相應(yīng)的程序讓它能起到相應(yīng)的功能,例如點(diǎn)擊“無(wú)盡模式”就能打開無(wú)盡模式的游戲界面。
(5)在所有布局界面中,右上角都提供了音樂的開關(guān),APP把當(dāng)前音樂的狀態(tài)(“開啟”還是“關(guān)閉”)寫在SharedPreferences中,當(dāng)APP每次啟動(dòng)時(shí)會(huì)讀取SharedPreferences中的數(shù)據(jù),初始化音樂按鈕的狀態(tài)。
4游戲的設(shè)計(jì)原理及實(shí)現(xiàn)
游戲的界面主要通過(guò)布局文件來(lái)制作,安卓開發(fā)中布局文件和程序代碼同樣重要,合理運(yùn)用布局文件可以省去很多代碼,布局文件存放在res/layout文件夾中。圖片文件,包括按鈕圖片,資源圖片,還有聲音,都存放在res/drawable-hdpi文件夾中,程序代碼作為app的主要部分存放在src/com.example.AsteriodBelt文件夾中。
按鈕要具備跳轉(zhuǎn)功能,點(diǎn)擊“無(wú)盡模式“或”時(shí)間模式“任意一個(gè)按鈕都能跳轉(zhuǎn)到相應(yīng)的界面,需要首先在布局文件中交代按鈕的位置,然后在程序代碼中寫跳轉(zhuǎn)的代碼,這也是安卓應(yīng)用的巧妙之處,通過(guò)合理使用布局文件是APP能兼容很多信號(hào)的屏幕,因?yàn)槭謾C(jī)不像電腦,手機(jī)屏幕尺寸很多,而應(yīng)用要是不能根據(jù)屏幕尺寸適當(dāng)改變,在手機(jī)上用起來(lái)就很不方便,這與電腦不同,電腦屏幕足夠大。具體添加按鈕和添加程序的方法則較簡(jiǎn)單,這里簡(jiǎn)單交代一下:
采用線性設(shè)計(jì)UI:線性布局是安卓開發(fā)中最常用的一種布局,習(xí)慣安卓開發(fā)的人應(yīng)該會(huì)很習(xí)慣使用,但是初學(xué)時(shí)總是感覺沒有絕對(duì)布局順手,但是線性布局的嵌套實(shí)際比絕對(duì)布局,表格布局等都靈活的多。
布局文件中的按鈕添加方法:
android:layoutwidth="0dp"
android:layout_height="match_
parent”
android:orientation="vertical"
android:layout_weight="30">