Java,android,拼圖游戲,實現(xiàn)與設(shè)計_第1頁
Java,android,拼圖游戲,實現(xiàn)與設(shè)計_第2頁
Java,android,拼圖游戲,實現(xiàn)與設(shè)計_第3頁
Java,android,拼圖游戲,實現(xiàn)與設(shè)計_第4頁
Java,android,拼圖游戲,實現(xiàn)與設(shè)計_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于Java與android的一個拼圖游戲?qū)崿F(xiàn)與設(shè)計作者:專業(yè)名稱:指導(dǎo)教師:僅供參考摘要隨著移動設(shè)備的日益普及,使用Android技術(shù)開發(fā) 軟件受到越來越多人的青睞。本科題目開發(fā)了一款A(yù)ndroid平臺下的 游戲 拼圖游戲本文首先對Android的研究背景,系統(tǒng)架構(gòu)以及開發(fā)環(huán)境進行介紹,然后就玩家對游戲的需求進行一定的分析,最后運用Android技術(shù)實現(xiàn)拼圖游戲的開發(fā),并合理布局游戲界面,使游戲界面更加美觀和人性化,實現(xiàn)的拼圖游戲的基本功能,利用SQLite數(shù)據(jù)庫保存游戲者完成游戲的信息,最終能讓玩家享受拼圖游戲的樂趣。關(guān)鍵詞:Android Activity 拼圖游戲 SQLite僅供參考

2、AbstractWith the rising popularity of mobile devices, the use of the Android mobile phone software technology development favored by more and more people.Undergraduate subject developed an Android platform of mobile phone games, puzzle games At first, this paper research background of Android system

3、 architecture, and introduces the development environment, then the player of the game analysis of the demand of jigsaw puzzle is realized by using Android technology development, and reasonable layout of the game interface, make the game more beautiful and humanized interface, realize the basic fun

4、ction of the jigsaw puzzle, using the SQLite database to store the player to complete the information of the game, eventually can puzzle game for players to enjoy the fun.Keywords:Android ,Activity ,puzzle, SQLite.僅供參考目錄摘要IAbstractII目錄III前言11基于Java與Android拼圖游戲課程設(shè)計32搭建開發(fā)環(huán)境53拼圖游戲的功能分析73.1拼圖游戲主要界面73.2拼

5、圖游戲主要功能74拼圖游戲的設(shè)計思路94.1 基本操作的流程圖94.2 開始動畫并跳轉(zhuǎn)到菜單頁面114.3點擊幫助游戲跳轉(zhuǎn)界面144.4點擊游戲設(shè)置跳轉(zhuǎn)到設(shè)置界面164.5點擊積分排名跳轉(zhuǎn)到積分排名界面204.6點擊開始游戲見面進行游戲224.7點擊退出游戲按鈕265功能的實現(xiàn)275.1游戲菜單界面的功能實現(xiàn)275.2游戲菜單界面顯示及關(guān)于和退出對話框的顯示285.3游戲幫助界面顯示295.4游戲設(shè)置界面顯示305.5游戲開始界面選擇圖片顯示315.6 game界面實現(xiàn)335.7 game界面切割的實現(xiàn)345.7 menu界面的實現(xiàn)356運行調(diào)試376.1白盒測試376.2黑盒測試37結(jié)論38

6、致謝39參考文獻40附件1 系統(tǒng)安裝說明41A1.1 JDK的安裝與配置41僅供參考前言隨著科技的迅猛發(fā)展,以智能 為代表的Android設(shè)備如雨后春筍般迅速發(fā)展?fàn)畲蟆ndroid系統(tǒng)自推出以來,就以明顯的優(yōu)勢逐漸擴大自大的市場份額,尤其在國外,其呼聲日高,可謂是如日中天,正處于蓬勃發(fā)展的開拓階段。在國內(nèi)Android系統(tǒng)的應(yīng)用已不僅局限于 產(chǎn)業(yè),幾年來其迅速擴張到相關(guān)領(lǐng)域,例如平板電腦、車載系統(tǒng)、電視STB、智能電器、智能會議系統(tǒng)等。目前,各IT廠商都在努力的研發(fā)前沿。Android是Google在2007年11月5日推出的開源 操作系統(tǒng)。目前Android在中國 的發(fā)展是非?;鸬模瑸榱斯?jié)

7、省研發(fā)費用, 國內(nèi)很多的 廠商和移動運營商紛紛加 入到了android陣營,其中包括中國移動,中國聯(lián)通,中國電信,華為,聯(lián)想等大企業(yè)。在中國不管是知名的 生產(chǎn)廠商還是山寨 廠商,都已經(jīng)開始生產(chǎn)Android操作系統(tǒng)的 。Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊不過得遵循框架的安全性。隱藏在每個

8、應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括;豐富而又可擴展的視圖Views),可以用來構(gòu)建應(yīng)用程序,它包括列表Lists),網(wǎng)格Grids),文本框Text boxes),按鈕Buttons),甚至可嵌入的web瀏覽器。而如今Android應(yīng)用更是受到大家的喜愛,不僅簡單操作還類型頗多,而臥介紹的拼圖游戲時曾經(jīng)非常經(jīng)典的游戲,也被用Android進行開發(fā),主要是重動畫,到主菜單,由主菜單再跳轉(zhuǎn)到各個界面,實現(xiàn)每個界面所需要執(zhí)行的功能,中間還運用了SQL數(shù)據(jù)庫對數(shù)據(jù)進行保留,在積分界面時使用到數(shù)據(jù)庫,還運用了各種Java語言模型。僅供參考1基于Java與Android拼圖游戲課程設(shè)計隨著社會經(jīng)濟的

9、不斷發(fā)展,移動設(shè)備的日益普及,人們對生活質(zhì)量的需求有了進一步的 提高。這時基于Linux 的Android 操作系統(tǒng),由于具有開源、免費的特性,迅速得到廣闊愛好者及廠商的支持。 Android 系統(tǒng)對第三方軟件是開放的,這促進了第三方軟件的發(fā)展。Android 系統(tǒng)以Linux 2.6 為核心,其安全機制比較完善,增強了 使用的安全性。Android平臺已經(jīng)形成由 Google 牽頭,OHA 組織參與,系統(tǒng)支持商和服務(wù)供給商完善搭配的運作機制,為Android 平臺的快速發(fā)展提供了堅實的基礎(chǔ)。同時,針對用戶對游戲的需求進行了一定的調(diào)查分析,一款A(yù)ndroid平臺下的 游戲益智拼圖游戲也就應(yīng)運而

10、生。 本游戲合理布局游戲界面使游戲界面更加美觀和人性化,除了界面它還可根據(jù)用戶的需 求隨時關(guān)閉和打開游戲音樂,最終可以讓用戶享受拼圖游戲的樂趣。它是您平時居家旅行、消磨時間的好伙伴,同時其益智性也可讓您在娛樂的同時練練腦力和眼力。該游戲有一定的 規(guī)律性,如果您掌握了那再高的級別也只是時間問題。 這款益智拼圖游戲內(nèi)置多張圖片,每張圖片都是經(jīng)過精心挑選。它支持的分辨率分別是 480*800、320*480 以及480*854,如果屏幕分辨率是480*800 它的顯示效果是最正確的;屏幕分辨率是320*480 它的顯示效果一般;屏幕分辨率是480*854 它的顯示效果較好。其他分辨率的 未經(jīng)測試,有

11、可能會出現(xiàn)圖片顯示位置錯誤或者按鈕錯位等問題。拼圖游戲屏幕分辨率具體如表1.1 所示。表1.1 拼圖游戲支持屏幕分辨率屏幕分辨率 適應(yīng)程度 480*800 最正確320*480 一般 480*854 較好 除了對屏幕分辨率的要求,本游戲要求Android 系統(tǒng)1.5 以上。拼圖游戲支持Android 版本具體如表1.2 所示。網(wǎng)上商店作為一種常見的企業(yè)對消費者Business to Customer, B2C電子商務(wù)的具體形式,在Internet上已經(jīng)非常普及。 表1.2 拼圖游戲支持Android 版本 Android 系統(tǒng)適應(yīng)程度Android1.5 支持 Android2.1 支持 An

12、droid2.3支持 Android3.0 支持 Android4.0支持 這款游戲非常人性化。首先,針對不同用戶它設(shè)置三個難度級別,分別是簡單3*3、 普通4*4 以及困難5*5;其次,它可以記錄用戶完成游戲時間,以便用戶查看在各個 難度中的成績排名;在游戲過程中可以隨時暫停游戲或退出游戲。僅供參考2搭建開發(fā)環(huán)境SDK:software development kit軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDK 指的是Android專屬的軟件開發(fā)工具包。下載好Android SDK后,開始安裝,A

13、ndroid SDK采用了Java語言,所以需要先安裝JDK 5.0及以上版本。直接下載JDK安裝文件安裝更為方便。2Android SDK不用安裝,下載后,直接解壓即可, 將下載后的SDK的壓縮包解壓到適當(dāng)?shù)奈恢?,就這么簡單;SDK安裝OK。使用Eclipse進行android應(yīng)用開發(fā)需要給Eclipse裝ADT插件,這樣Eclipse就可以和android ADT建立連接,可以在Eclipse中啟動android模擬器進行程序調(diào)試等ADT插件安裝這里不再累贅,插件的安裝URL為:也可以下載adt的zip包安裝 安裝完插件后,需要做一些簡單的配置:1.在Eclipse中,選擇Window &

14、gt; Preference;如圖2.1操作2.從左側(cè)的菜單中,選擇Android項;如圖2.2操作3.設(shè)置SDK Location,點Browse選擇SDK的安裝根目錄;4.OK,完成。圖2.1關(guān)聯(lián)SDT的第一個步驟圖2.2關(guān)聯(lián)ADT的第二個步驟 3拼圖游戲的功能分析3.1拼圖游戲主要界面由于游戲拼圖項目開發(fā)周期非常短,因此將盡量利用Android 現(xiàn)有界面控件進行大部分游戲界面的開發(fā),盡量減少手動繪制界面的操作以實現(xiàn)快速開發(fā)的目的。詳細(xì)需求中說到游戲拼圖的設(shè)計包括10個功能界面,分別為游戲Logo、主菜單、游戲 幫助、游戲設(shè)置、游戲選關(guān)、游戲隨機初始化、進行游戲、游戲勝利、信息輸入、行榜功

15、能;除了界面,它還有3個對話框,分別為游戲關(guān)于對話框、退出游戲?qū)υ捒蛞约岸壊藛?對話框。 通過詳細(xì)需求首先我們可以把游戲 Logo、主菜單拿出來;然后為了讓游戲功能清晰,我們把剩下的功能界面以及對話框分成6 大模塊,分別為游戲過程、積分排名、游戲設(shè)置、 游戲幫助、游戲關(guān)于以及退出游戲,這6 大功能模塊可以通過主菜單界面進行跳轉(zhuǎn)。通過功 能模塊的名字我們可以對功能界面以及對話框進行劃分: 1.游戲過程模塊:它是游戲開始到結(jié)束整個過程,所以它根據(jù)整個游戲過程又可以分為三個階段,分別是游戲前選關(guān)界面,游戲中游戲隨機初始化界面、游戲界面、二級菜單對話框、游戲勝利界面,游戲后信息輸入界面; 2.游戲幫

16、助模塊:游戲幫助界面; 3.積分排名模塊:排行榜功能界面; 4.游戲設(shè)置模塊:游戲設(shè)置界面;5.游戲關(guān)于模塊:游戲關(guān)于對話框; 6.退出游戲模塊:退出游戲?qū)υ捒颉?3.2拼圖游戲主要功能根據(jù)功能進行分塊后為減小項目內(nèi)部的復(fù)雜關(guān)聯(lián),游戲拼圖項目采用多Activity 模式進行開發(fā)設(shè)計。它們分別是游戲Logo 界面LogoActivity、主菜單界MenuActivity、游戲 幫助HelpActivity、游戲設(shè)置OptionActivity、選關(guān)界面SelectGame、游戲過程界面 GameActivity、信息輸入界面InputName以及排行榜功能界面RankActivity共8 個主要

17、功能界面。1.游戲 Logo:點擊游戲圖標(biāo)進入 Logo 界面,這個界面負(fù)責(zé)游戲 Logo 的顯示。2.游戲主菜單:Logo 界面展示完畢自動進入游戲主菜單界面,這個界面負(fù)責(zé)各個功能模塊的跳轉(zhuǎn)。3.游戲過程:點擊開始游戲進入選關(guān)界面,這個界面負(fù)責(zé)選擇圖片以及難度等級;游戲隨機打亂開始進行游戲,在游戲過程中可以隨時退出游戲;在游戲的過程中,界面出現(xiàn)計時器記錄你游戲所用的時間;游戲完成,如果用戶打破記錄則跳轉(zhuǎn)至信息輸入界面,輸入你的名字并且點擊確定按鈕就會把你的名字和使用時間記錄到游戲排行榜;之后會自動跳轉(zhuǎn)到游戲選關(guān)界面。 4.游戲排行榜功能:點擊積分排行進入游戲排行榜功能界面,這個界面就是顯示你

18、原來游戲完成所用的時間,它按照從低到高,從簡單到困難依次排序,按返回按鍵跳轉(zhuǎn)回到游戲主菜單界面。5.游戲設(shè)置:點擊游戲設(shè)置按鈕進入游戲設(shè)置界面,在這個界面可以關(guān)閉或開啟背景音樂以及清空排行榜信息,點擊返回按鈕或返回鍵跳轉(zhuǎn)到游戲主菜單界面。6.游戲關(guān)于:點擊游戲關(guān)于按鈕查看游戲相關(guān)的信息。彈出對話框,介紹游戲的版權(quán)以及相關(guān)信息,點擊返回按鈕或返回鍵返回到游戲主菜單界面。7.游戲幫助:點擊“游戲幫助”按鈕,跳轉(zhuǎn)到游戲幫助界面。為不熟悉游戲操作的用戶提供游戲規(guī)則以及游戲系統(tǒng)說明,點擊返回鍵可返回到游戲主菜單界面。8.退出游戲:點擊退出游戲按鈕直接彈出二次確認(rèn)對話框,再次確認(rèn)直接退出游戲。4拼圖游戲的

19、設(shè)計思路4.1 基本操作的流程圖當(dāng)前是從LogoActivity界面跳轉(zhuǎn)到主菜單界面,在主界面菜單下顯示游戲幫助、游戲排行、游戲選擇、游戲退出、游戲關(guān)于和游戲設(shè)置按鈕;在游戲界面由GameView組成,GameView是由格子組構(gòu)成;在游戲排行界面可以跳轉(zhuǎn)到任何一個界面,而且它本來就是從游戲結(jié)束界面,輸入游戲者的信息后保存在數(shù)據(jù)庫中,然后跳轉(zhuǎn)到游戲排行界面;在游戲過程中和游戲完成時都有不同的音樂,音樂的音量及開關(guān)都在游戲設(shè)置中進行設(shè)置。圖4.1 Activity類的關(guān)系圖圖4.2 Music類與其他類的關(guān)系圖圖4.3 Rank類與其他類的關(guān)系圖4.2 開始動畫并跳轉(zhuǎn)到菜單頁面點擊游戲圖標(biāo)進入L

20、ogo 界面,這時每張Logo 圖片會占滿全屏并保持2 秒時間切換3張Logo 圖片依次展示后游戲自動進入主菜單界面。游戲Logo部分只能一張圖片顯示2兩秒后自動跳到下張圖片,所以做成一個幀動畫,兩秒跳過一震,并在logview中啟動動畫,當(dāng)動畫結(jié)束后跳轉(zhuǎn)到菜單界面。其實在logo界面的切換中是利用的幀動畫,通過總的時間然后自動跳轉(zhuǎn)到菜單界面。通過對菜單界面的布局讓其顯示成有規(guī)律的界面,并對界面的按鈕進行了監(jiān)聽事件,實現(xiàn)按鈕的點擊事件,到達需要功能的目的。如圖4.3所示圖4.4 游戲菜單界面主要代碼過程:Public class MenuActivity extends Activity im

21、plements OnClickListener / 初始化一個Activity集合public static ArrayList<Activity> activitys = new ArrayList<Activity>();Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.menu);MenuActivity.activitys.add(MenuActivity.this);Imag

22、eView begin = (ImageView) findViewById(R.id.iv_startgame);begin.setOnClickListener(this);ImageView rank = (ImageView) findViewById(R.id.iv_rank);rank.setOnClickListener(this);ImageView settings = (ImageView) findViewById(R.id.iv_settings);settings.setOnClickListener(this);ImageView hel = (ImageView)

23、 findViewById(R.id.iv_help);hel.setOnClickListener(this);ImageView about = (ImageView) findViewById(R.id.iv_about);about.setOnClickListener(this);ImageView exit = (ImageView) findViewById(R.id.iv_exit);exit.setOnClickListener(this);/ 音樂狀態(tài)開啟Player.isSound = true;/ 讀保存的內(nèi)容SharedPreferences sharedPrefer

24、ences = getSharedPreferences("music_state", Context.MODE_PRIVATE);Player.isSound = sharedPreferences.getBoolean("state", true);if (Player.isSound) / menu 界面時音樂循環(huán)播出Player.start(this, 1, true); else Player.stop();Rank.loadRank(this);4.3點擊幫助游戲跳轉(zhuǎn)界面當(dāng)點擊按鈕之后,跳轉(zhuǎn)到幫助界面,顯示游戲幫助等內(nèi)容,在游戲幫助的xml里

25、需要設(shè)置listview列表格局,點擊每個格局會隱藏擴展信息內(nèi)容,并增加一個listview格局中的元素。便在其中填寫幫助內(nèi)容。如圖4.5 圖4.5 顯示幫助界面的內(nèi)容主要代碼實現(xiàn):protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.help_lv_item);MenuActivity.activitys.add(HelpActivity.this);/ 加載背景圖片getWindow().setBackgroundDrawab

26、leResource(R.drawable.helpback);/ 初始化ListView 對象(讓其以豎直列表的方式排列)ListView lv = (ListView) findViewById(R.id.lv);/初始化適配器MyAdapter myAdapter = new MyAdapter();/設(shè)置適配器lv.setAdapter(myAdapter);/ 設(shè)置監(jiān)聽事件lv.setOnItemClickListener(new OnItemClickListener() Overridepublic void onItemClick(AdapterView<?> ar

27、g0, View arg1, int arg2,long arg3) TextView tv2 = (TextView) arg1.findViewById(R.id.tv2);/ 判斷當(dāng)前tv2是否顯示if (tv2.getVisibility() = View.VISIBLE) / 如果為顯示設(shè)置讓它隱藏tv2.setVisibility(View.GONE); else / 假設(shè)果為隱藏設(shè)置為顯示tv2.setVisibility(View.VISIBLE););4.4點擊游戲設(shè)置跳轉(zhuǎn)到設(shè)置界面點擊“游戲設(shè)置”按鈕,跳轉(zhuǎn)到游戲設(shè)置界面。這個界面主要控制游戲音樂開關(guān)和音量大小、重置游戲排行

28、榜的積分以及返回到游戲主菜單界面,在xml界面中將控制音樂開關(guān),和音量大小,重置積分排行,返回主菜單界面的控件,在Java文件中實例化一切的控件并對控件進行監(jiān)聽事件,實行各種點擊事件,是音樂隨音樂圖標(biāo)的改變而改變,聲音大小也要隨之改變,點擊清空存檔時,積分排榜為空,返回時結(jié)束當(dāng)前activity,如圖4.6所示。圖4.6 游戲設(shè)置界面 主要代碼實現(xiàn):public class SettingsActivity extends Activity implements OnClickListener /* * AudioManager是音量的存儲鈴聲的控制 * */private AudioMana

29、ger audioManager;int currentvolume;/ 當(dāng)前音量private SeekBar seekBar;private ImageView iv1_on;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.settings);MenuActivity.activitys.add(SettingsActivity.this);/ 找到游戲狀態(tài)圖標(biāo)ImageView iv_on = (Ima

30、geView) findViewById(R.id.iv_on);/ 對游戲狀態(tài)圖標(biāo)設(shè)置監(jiān)聽事件iv_on.setOnClickListener(this);/ 找到關(guān)閉音樂圖標(biāo)ImageView iv_off = (ImageView) findViewById(R.id.iv_off);/ 對關(guān)閉音樂圖標(biāo)設(shè)置監(jiān)聽事件iv_off.setOnClickListener(this);/ 找到增加音量圖標(biāo)ImageView iv_up = (ImageView) findViewById(R.id.iv_up);/ 對增加音量圖標(biāo)設(shè)置監(jiān)聽事件iv_up.setOnClickListener(th

31、is);/ 找到降低音量的圖標(biāo)ImageView iv_down = (ImageView) findViewById(R.id.iv_down);/ 對降低音量的圖標(biāo)設(shè)置監(jiān)聽事件iv_down.setOnClickListener(this);/ 找到游戲狀態(tài)圖標(biāo)iv1_on = (ImageView) findViewById(R.id.iv1_on);/ 對游戲狀態(tài)圖標(biāo)設(shè)置監(jiān)聽事件iv1_on.setOnClickListener(this);/ 找到返回按鈕Button btn_back = (Button) findViewById(R.id.btn_back);/ 對返回按鈕進行監(jiān)

32、聽事件btn_back.setOnClickListener(this);/ 找到清空文檔按鈕Button btn_text = (Button) findViewById(R.id.btn_text);/ 對清空文檔按鈕進行監(jiān)聽事件btn_text.setOnClickListener(this);/ 讀保存的內(nèi)容SharedPreferences sharedPreferences = getSharedPreferences("music_state", Context.MODE_PRIVATE);Player.isSound = sharedPreferences.

33、getBoolean("state", true);/* * 判斷音樂狀態(tài)是否開啟 * */if (!Player.isSound) / 音樂狀態(tài)關(guān)閉的話設(shè)置背景為關(guān)閉iv1_on.setImageResource(R.drawable.audio_off); else iv1_on.setImageResource(R.drawable.audio_on);/ 音樂狀態(tài)開啟的話開始播放音樂Player.start(this, 0, false);/ 初始化當(dāng)前音量currentvolume = sharedPreferences.getInt("currentv

34、olume", -1);/ 初始化audioManageraudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);/ 獲取最大音量值int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);if (currentvolume = -1) int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);current

35、volume = streamVolume;/ 初始化seekBarseekBar = (SeekBar) findViewById(R.id.sk);/ 設(shè)置進度條的值seekBar.setProgress(currentvolume);/ 設(shè)置進度條的最大值seekBar.setMax(streamMaxVolume);/ 對進度條的監(jiān)聽事件seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() Overridepublic void onStopTrackingTouch(SeekBar seekBar) Over

36、ridepublic void onStartTrackingTouch(SeekBar seekBar) /* * 進度條拖動過程中 * */Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) / 當(dāng)前值等于進度條的值currentvolume = progress;int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);if (streamVolume > progress

37、) audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER, 0); else audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE, 0);/ 拖動進度條開啟音樂openMusic();/ 如果進度條的值為0就關(guān)閉音樂if (currentvolume = 0) /關(guān)閉音樂closeMusic();); 4.5點擊積分排名跳轉(zhuǎn)到積分排名界面顯示三個難度,簡單,普通,困難

38、三個等級的排名,每個等級排名最多只為10行,這里需要用到數(shù)據(jù)庫,進行對數(shù)據(jù)庫的增刪改查。1.當(dāng)游戲勝利時彈出一個界面,輸入,向數(shù)據(jù)庫中加入信息,以便在積分排名中查看。如圖4.7所示: 圖4.7 游戲勝利時輸入界面2.添加完數(shù)據(jù)后可以在積分排行中查看,如圖4.8所示:圖4.8 積分排行的界面4.6點擊開始游戲見面進行游戲1.點擊開始游戲時,會先跳轉(zhuǎn)到選擇界面,進行對圖片的選擇,在xml里設(shè)置格局,在Java文件中進行圖片資源的獲取,并實現(xiàn)左右滑動時圖片也跟隨滑動,以便于更好的選擇圖片。2.選擇圖片后運用格子組和畫布,畫筆等工具,將圖片切割為等級難度不同的圖片,簡單的切割為3*3,普通的切割為4*

39、4,困難的切割成5*5,并設(shè)定好切割的次數(shù),在切割時屏幕顯示提示文字“圖片正在打亂中”,打亂完成后會在屏幕的左上角顯示打亂圖片的縮略圖,點擊可以看大圖,屏幕的右上角添加一個計時器timer,對完成游戲時間進行記錄,計時器下方會有一個重新打亂按鈕,點擊則進行重新打亂。如圖4.9所示:圖4.9 游戲打亂界面3.在游戲中和圖片打亂中時,按 菜單建時,會彈出菜單進行選擇,返回游戲時則直接返回游戲當(dāng)中,游戲幫助時則跳轉(zhuǎn)到幫助界面查看信息,游戲設(shè)置時則跳轉(zhuǎn)到設(shè)置界面進行一系列的設(shè)置操作,返回選關(guān)則退回到選擇圖片處,如圖4.10所示:圖4.10 游戲中進入設(shè)置界面4.當(dāng)游戲勝利是,會播放勝利的音樂,并將整個

40、完成游戲的過程重新放映一遍,放映結(jié)束后會跳到另一個界面,這個界面會顯示成功完成游戲的圖片,在圖片下方會出現(xiàn)跑馬燈,顯示“恭喜您,闖關(guān)成功”的字樣。如圖4.11所示:圖4.11 游戲勝利界面4.7點擊退出游戲按鈕當(dāng)點擊退出游戲按鈕時,會彈出一個提示對話框,進行選擇,選擇退出則結(jié)束整個游戲,如果點擊取消,則返回主菜單。如圖4.12所示:圖4.12 選擇退出游戲界面僅供參考5功能的實現(xiàn)5.1游戲菜單界面的功能實現(xiàn)首先是從logo界面跳轉(zhuǎn)到游戲菜單界面,主要利用幀動畫實現(xiàn)頁面跳轉(zhuǎn),其主要實現(xiàn)為:1. Logo界面需要展示3張Logo圖片,每張圖片保持2秒顯示時間,之后自動進入Menu界面。1創(chuàng)建And

41、roid項目GamePic;2創(chuàng)建一個LogoView類繼承View;3重寫View當(dāng)中的ondraw方法;4創(chuàng)建一個Bitmap對象并且加載圖片;5在ondraw方法中使用畫布對象進行繪制;6在Activity當(dāng)中創(chuàng)建LogoView類的對象;7初始化logoview;8通過Activity當(dāng)中的setcontentview方法加載LogoView的對象;9設(shè)置屏幕的寬高1、在MainActivity中new DisplayMetrics類2、聲明int的寬高3、得到metrics對象4、通過metrics.heightpixecs來獲得高,同理獲得寬。2.在LogoView中聲明Bitma

42、p數(shù)組和圖片的ID數(shù)組,在聲明一個MainActivity的對象,在聲明一個int num循環(huán)的次數(shù),在聲明一個boolean類型的對象1利用MainActivity的對象把context轉(zhuǎn)換為另一個Activity;2通過for循環(huán)、BitmapFactory來獲得圖片;3創(chuàng)建一個線程,實現(xiàn)Runable,創(chuàng)建run方法 ;4在run方法中通過thread讓圖片每兩秒切換,通過postInvalidate方法進行刷新使用;5利用While循環(huán)來對圖片的切換;6在啟動線程。3.Logo界面的跳轉(zhuǎn):1在MainActivity當(dāng)中創(chuàng)建gotoMenu方法;2利用Intent進行頁面跳;3創(chuàng)建一個

43、MenuActivity類繼承Activity;4在清單文件內(nèi)注冊命名為MenuActivity;5在run方法中調(diào)用gotoMenu方法;6在MainActivity當(dāng)中啟動Intent。表5.1 Logo界面圖片資源列表Logo功能名稱切換方式資源圖片渠道商Logo2秒后自動切換下一張mmlogo.png開發(fā)商Logo2秒后自動切換下一張and1.png游戲Logo2秒后自動切換Menulogo.jpg5.2游戲菜單界面顯示及關(guān)于和退出對話框的顯示菜單界面需要展示6個Butoon按鈕點擊相關(guān)按鈕進行頁面跳轉(zhuǎn)或?qū)υ捒蝻@示:1.首先自定義6個類的Activity分別為游戲開始、游戲排名、游戲設(shè)

44、置、游戲幫助、游戲關(guān)于、游戲退出;2.在layout中建立相對應(yīng)的XML文件并且在清單文件內(nèi)注冊;3.在activity_main中首先加載背景圖片,對6個按鈕進行加載并布局;4.在利用任務(wù)1當(dāng)中的MunuActivity,在MunuActivity中聲明6個Butoon的對象;5.我是利用對Activity自身的監(jiān)聽事件分別對6個Butoon的對象進行監(jiān)聽也可以利用匿名內(nèi)部類等方法進行監(jiān)聽;6.利用Intent進行頁面跳轉(zhuǎn);7.在MunuActivity中新建一個關(guān)于對話框的方法,利用AlertDialog提示對話框,用AlertDialog.Builder這個屬性,new AlertDia

45、log.Builder,設(shè)置對話框的圖標(biāo)和標(biāo)題,對dialogo接口的監(jiān)聽,最后一定要show();8.在實現(xiàn)退出對話框顯示時跟關(guān)于類似,只不過它使用的是兩個按鈕的對話框。表5.2 Logo界面圖片資源列菜單功能名稱切換方式資源圖片游戲開始 buttonBegin點擊游戲開始bm1.png游戲排名 buttonRank點擊游戲排名bm2.png游戲設(shè)置 buttonSet點擊游戲設(shè)置bm3.jpg游戲幫助 buttonHelp點擊游戲幫助Bm4.jpg游戲關(guān)于 buttonAbout點擊游戲關(guān)于Bm5.jpg游戲退出 buttonExit點擊游戲退出Bm6.jpg5.3游戲幫助界面顯示游戲幫助

46、界面需要用到適配器Adapter和listview的屬性。1.創(chuàng)建一個自定義類來繼承ListActivity,并且重寫oncreat方法;2.創(chuàng)建一個自定義的適配器Adapter繼承BaseAdapter,并且重寫4個方法實際只操作兩個;3.在創(chuàng)建一個自定義類的構(gòu)造方法;4.創(chuàng)建一個列表元素樣式布局,有兩個TextView ,對幫助內(nèi)容的劃分;5.在oncreat方法中通過getwindiow().set加載幫助界面的背景圖片;6.在oncreat方法中創(chuàng)建自定義的Adapte對象,通過getListIVew方法獲取ListActivity里面的ListView,ListView對象調(diào)用set

47、Adapter方法設(shè)置適配器;7.在自定義的適配器Adapter中,首先得在全局聲明兩個TextView的對象,聲明標(biāo)題數(shù)組和內(nèi)容數(shù)組;8.設(shè)置標(biāo)題和內(nèi)容返回給View;9.在構(gòu)造方法中通過布局適配器調(diào)用from方法。5.4游戲設(shè)置界面顯示游戲設(shè)置界面需要設(shè)置一個Music類和一個自定義Activity還要一個XML布局。1.XML布局的操作:1創(chuàng)建4個textview對聲音狀態(tài)、聲音開關(guān)啟、放大減小聲音和音量顯示的布局;2創(chuàng)建5個imageview對聲音狀態(tài)、聲音開關(guān)啟、放大減小聲音的圖標(biāo)布局;3創(chuàng)建一個seekbar對聲音顯示進度條的布局;4創(chuàng)建2個button對清空文檔和返回鍵的布局。2

48、.Music類的操作:1首先創(chuàng)建一個Music類;2聲明Mediaplayer對象,聲明一個音樂id數(shù)組和定義一個當(dāng)前音樂的id;3創(chuàng)建兩個靜態(tài)的方法,一個是開啟音樂,另一個是關(guān)閉音樂;4在開啟音樂方法中,首先判斷當(dāng)前音樂id和定義的是否相等并且音樂是否正在播放,如果是的話return當(dāng)前id并且賦值給自定的id;5在開啟音樂方法中,判斷如果Mediaplaye的對象不為空,在判斷是否正在播放,如果正在播放的話停止播放,如果不為空還要音樂重置和滯空,如果為空的話執(zhí)行創(chuàng)建音樂播放id病開始播放音樂;6在關(guān)閉音樂方法中,判斷當(dāng)前音樂是否為空,不為空停止播放。3.自定義Activity的操作:1自定

49、義一個Activity繼承Activity并重寫oncreate方法;2聲明播放音樂對象、關(guān)閉音樂對象、音樂播放狀態(tài)對象、增加音量對象、降低音量對象、聲明AudioManager對象、聲明進度條對象、返回按鈕對象,定義一個最大值和當(dāng)前值;3在oncread方法中,實例化AudioManager對象,獲取最大值和當(dāng)前值;4實例化播放音樂、關(guān)閉音樂、增加音樂和降低音樂對象,并對自身Activity設(shè)置監(jiān)聽事件;5實例化進度條對象并對進度條進行監(jiān)聽并重寫它的3個方法,在它的拖動過程方法中獲取當(dāng)前值并根據(jù)當(dāng)前值設(shè)置進度條的音量大??;6實例化返回按鈕并進行監(jiān)聽事件,在它的監(jiān)聽事件中設(shè)置finish方法并

50、關(guān)閉音樂;7在監(jiān)聽自身的Activity中分別對播放音樂、關(guān)閉音樂、增加音樂和降低音樂進行設(shè)置。表5.3 設(shè)置界面圖片資源列表游戲設(shè)置功能名稱切換方式資源圖片播放音樂點擊播放音樂on.png關(guān)閉音樂點擊關(guān)閉音樂off.png增加音量點擊增加音量up. png降低音量點擊降低音量Down. png進度條拖動進度條返回按鈕點擊返回按鈕5.5游戲開始界面選擇圖片顯示游戲開始界面選擇圖片顯示需要10張圖片,需要鼠標(biāo)滑動選擇圖片,還要進行游戲難度的選擇操作。1.BeginActivity類的操作:1 創(chuàng)建一個自定義BeginActivity類繼承Activity,并重寫oncreate方法;2創(chuàng)建兩個X

51、ML布局文件bgein和gallery,在begin XML中設(shè)置兩有兩個控件,一個gallery一個是textview,在gallery布局文件中設(shè)置一個imageview控件。2.GalleryAdapter適配器的操作:1創(chuàng)建一個自定義GalleryAdapter適配器繼承BaseAsapter;2創(chuàng)建一個GalleryAdapter的構(gòu)造方法,并且重寫GalleryAdapter的4個方法;3聲明一個布局過濾器的對象、ImageView的對象和當(dāng)前圖片資源id數(shù)組;4在構(gòu)造方法中實例化布局過濾器的對象,并調(diào)用頭了from方法5在重寫方法getView中調(diào)用布局過濾器的inflate方法

52、把XML布局變成View;6實例化ImageView的對象;7設(shè)置適配器;8在重寫getCount方法中返回id數(shù)組的長度。3.BeginActivity中實現(xiàn)鼠標(biāo)滑動選擇圖片的操作:1聲明GalleryAdapter和Gallery兩個的對象;2在重寫oncreate發(fā)方法中實例化GalleryAdapter和Gallery;3設(shè)置適配器。4.難度選擇對話框的操作:1創(chuàng)建一個顯示對話框showDialog的方法用的是提示對話框;2實例化提示對話框;3設(shè)置對話框的Icon和標(biāo)題;4通過對Activity自身的監(jiān)聽事件對3個對話框按鈕進行監(jiān)聽;5在重寫oncreate方法中對某個元素進行監(jiān)聽;6

53、在點擊某個元素方法中調(diào)用顯示對話框showDialog方法。表5.4 Logo界面圖片資源列表鼠標(biāo)滑動選擇圖片切換方式資源圖片選擇圖片b0鼠標(biāo)滑動切換到b1b0.png選擇圖片b1鼠標(biāo)滑動切換到b2b1.png選擇圖片b2鼠標(biāo)滑動切換到b3b2.jpg選擇圖片b3鼠標(biāo)滑動切換到b4b3.jpg選擇圖片b4鼠標(biāo)滑動切換到b5b4.jpg選擇圖片b5鼠標(biāo)滑動切換到b6b5.jpg選擇圖片b6鼠標(biāo)滑動切換到b7b6.jpg選擇圖片b7鼠標(biāo)滑動切換到b8b7.jpg選擇圖片b8鼠標(biāo)滑動切換到b9b8.jpg選擇圖片b9不變b9.jpg5.6 game界面實現(xiàn) game界面需要創(chuàng)建一個自定義的Activity和自定義的View,還要執(zhí)行Activity之間的跳轉(zhuǎn)。1.自定義Activity

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論