成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android中如何制作游戲的啟動(dòng)菜單

移動(dòng)開(kāi)發(fā) Android
本文介紹如何用Android制作一個(gè)效果不錯(cuò)的游戲界面啟動(dòng)菜單,并且指導(dǎo)你使用Android中的SharedPreferences去實(shí)現(xiàn)保存游戲設(shè)置的功能。

在游戲制作中,通常都在啟動(dòng)游戲前,有一個(gè)菜單,供用戶進(jìn)行各種關(guān)于游戲的設(shè)置,比如關(guān)數(shù),聲音,角色等。本文介紹如何用Android制作一個(gè)效果不錯(cuò)的游戲界面啟動(dòng)菜單,并且指導(dǎo)你使用Android中的SharedPreferences去實(shí)現(xiàn)保存游戲設(shè)置的功能。

一 效果圖

我們先來(lái)看下實(shí)現(xiàn)后的效果,如下圖所示:

 

Android中制作游戲的啟動(dòng)菜單

可以看到,該界面中,使用了有特色的字體和背景布局圖,當(dāng)用戶在每個(gè)選項(xiàng)上點(diǎn)選時(shí),會(huì)發(fā)現(xiàn)有不同顏色的效果出現(xiàn)。

而當(dāng)用戶點(diǎn)SETTINGS游戲設(shè)置時(shí),則進(jìn)入如下界面:

 

Android中制作游戲的啟動(dòng)菜單

當(dāng)我們?cè)谝陨系脑O(shè)置中選擇某項(xiàng)設(shè)置,比如選擇SOUND OFF,再選BACK退出后,則系統(tǒng)會(huì)自動(dòng)記憶下我們的設(shè)置,當(dāng)再進(jìn)入菜單進(jìn)行選擇時(shí),同樣會(huì)顯示相同的選項(xiàng)。

二 設(shè)計(jì)菜單的layout布局文件

首先,我們?cè)O(shè)計(jì)菜單的layout文件,這里我們使用的是相對(duì)布局,代碼如下:

  1. xmlns:android="http://schemas.android.com/apk/res/android" 
  2.  
  3. android:layout_width="fill_parent" 
  4.  
  5. android:layout_height="fill_parent"> 

 

  1. android:src="@drawable/menuback" 
  2.  
  3. android:layout_width="fill_parent" 
  4.  
  5. android:layout_height="fill_parent" /> 

 

  1. android:orientation="vertical" 
  2.  
  3. android:layout_margin="10dp" 
  4.  
  5. android:layout_width="fill_parent" 
  6.  
  7. android:layout_height="fill_parent" > 

 

  1. android:text="START GAME" 
  2.  
  3. android:layout_gravity="right" 
  4.  
  5. android:id="@+id/start" 
  6.  
  7. style="@style/MenuFont" /> 
  1. android:text="QUICK GAME" 
  2.  
  3. android:id="@+id/quick" 
  4.  
  5. style="@style/MenuFont" /> 
  1. android:text="SETTINGS" 
  2.  
  3. android:id="@+id/settings" 
  4.  
  5. style="@style/MenuFont" /> 
  1. android:text="ABOUT" 
  2.  
  3. android:id="@+id/about" 
  4.  
  5. style="@style/MenuFont" /> 
  1. android:text="EXIT" 
  2.  
  3. android:id="@+id/exit" 
  4.  
  5. style="@style/SystemFont" /> 

其中,每個(gè)選項(xiàng)中,都套用了字體樣式。在Android中,可以在style目錄下建立styles.xml,定義如下樣式:

三 定義字體

這里,我們需要使用自定義的字體。在Android中,自定義字體的方法很簡(jiǎn)單,只需

要按如下步驟實(shí)現(xiàn):

1 找到所需要的字體

2 將字體放到assets目錄下

3 在代碼中,創(chuàng)建Typeface類的實(shí)例,使用createFromAsset調(diào)用字體,

4 通過(guò)調(diào)用textview控件的setTypeface方法,應(yīng)用字體

示例代碼如下:

  1. Typeface tf = Typeface.createFromAsset(getAssets(),"data/fonts/floral.ttf"); 
  2.  
  3. TextView tv = (TextView) findViewById(R.id.start); 
  4.  
  5. tv.setTypeface(tf) 

四、保存用戶的選擇設(shè)置

為了實(shí)現(xiàn)保存用戶對(duì)游戲的設(shè)置,可以使用Android中的SharedPreferences進(jìn)行保存。SharedPreferences的詳細(xì)說(shuō)明在(http://developer.android.com/reference/android/content/SharedPreferences.html)可以找到,它實(shí)際上是以鍵值對(duì)的形式,保存了用戶的數(shù)據(jù),可以保存的類型有int,Boolean,String,float,long等。在實(shí)際的代碼中,我們必須先讀取SharedPreferences

中的數(shù)據(jù),如果數(shù)據(jù)值為空,則對(duì)數(shù)據(jù)進(jìn)行初始化,如下代碼所示:

  1. private boolean[] settingsHolder = new boolean[4]; 
  2.  
  3. private void getSettings() { 
  4.  
  5. SharedPreferences settings = getSharedPreferences("sampleGameSettings", 0); 
  6.  
  7. settingsHolder[0] = settings.getBoolean("sound", true); 
  8.  
  9. settingsHolder[1] = settings.getBoolean("music", true); 
  10.  
  11. settingsHolder[2] = settings.getBoolean("vibrate", true); 
  12.  
  13. settingsHolder[3] = settings.getBoolean("graphics", true); 
  14.  

可以看到,初始時(shí),把四個(gè)選擇項(xiàng)都設(shè)置為true。當(dāng)用戶點(diǎn)各選項(xiàng)時(shí),會(huì)把on開(kāi)關(guān)設(shè)置為off(或者off設(shè)置為on),通過(guò)如下代碼實(shí)現(xiàn):

  1. @Override 
  2.  
  3. public void onClick(View v) { 
  4.  
  5. SharedPreferences settings = getSharedPreferences(MenuActivity.PREFS_NAME, 0); 
  6.  
  7. SharedPreferences.Editor editor = settings.edit(); 
  8.  
  9. switch(v.getId()){ 
  10.  
  11. case R.id.sound: 
  12.  
  13. editor.putBoolean("sound", !settingsHolder[0]); 
  14.  
  15. break; 
  16.  
  17. case R.id.music: 
  18.  
  19. editor.putBoolean("music", !settingsHolder[1]); 
  20.  
  21. break; 
  22.  
  23. case R.id.vibrate: 
  24.  
  25. editor.putBoolean("vibrate", !settingsHolder[2]); 
  26.  
  27. break; 
  28.  
  29. case R.id.graphics: 
  30.  
  31. editor.putBoolean("graphics", !settingsHolder[3]); 
  32.  
  33. break; 
  34.  
  35. case R.id.back: 
  36.  
  37. finish(); 
  38.  
  39. break; 
  40.  
  41.  
  42. editor.commit(); 
  43.  
  44. getSettings(); 
  45.  
  46. setText(); 
  47.  

至此,全部代碼完成.

責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2010-09-30 13:11:59

J2MECanvas

2012-03-07 15:13:07

PhoneGapmenu菜單

2013-06-08 12:49:03

Android開(kāi)發(fā)XML定義菜單

2009-06-17 08:43:08

Windows 7微軟操作系統(tǒng)

2012-07-17 16:37:43

json

2011-12-26 14:07:07

游戲

2011-05-13 13:35:42

手機(jī)游戲游戲營(yíng)銷iOS

2014-07-15 10:34:14

Android游戲引擎

2010-09-13 13:35:39

CSS屬性

2023-08-02 12:18:49

2013-05-20 16:12:23

2014-07-22 15:15:30

Fire Phone

2019-01-09 11:00:10

Windows 10設(shè)置菜單隱藏選項(xiàng)

2018-12-11 15:20:12

Windows 10超級(jí)用戶用戶菜單

2012-03-01 20:20:38

Android

2011-08-31 17:04:26

2020-06-08 11:50:38

GIMPGIF應(yīng)用

2009-12-11 09:07:59

2022-07-20 11:13:05

前端JSONVue3

2018-10-16 10:17:53

WindowsWindows 10應(yīng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久综合成人精品亚洲另类欧美 | 亚洲电影在线播放 | 91在线视频一区 | 日韩欧美视频 | 国产精品久久久久久久7777 | 视频一区二区中文字幕日韩 | 亚洲精品天堂 | 日韩在线播放中文字幕 | 中国一级大毛片 | 激情五月激情综合网 | 一级大片免费 | 日韩精品 | www.一区二区三区 | 玖玖综合网 | 国产精品美女久久久久aⅴ国产馆 | 欧美一区视频 | 久久久久久国产精品免费免费男同 | 成人在线欧美 | 国产福利在线播放 | 日本在线免费观看 | 精品一区av| 亚洲午夜精品在线观看 | 99免费精品视频 | 亚洲一区二区免费看 | 免费观看一级特黄欧美大片 | 免费一级大片 | 一区二区三区四区国产 | 国产高清精品一区二区三区 | 精品一二三区在线观看 | 日韩一区二区在线观看 | 在线国产小视频 | 日韩成人影院 | 手机av网 | 在线欧美一区 | 久久精品国产亚洲 | 九九久久免费视频 | 色婷婷久久 | 国产精品久久久久久久久久三级 | 国产91精品久久久久久久网曝门 | 久久国产精品72免费观看 | 天堂在线1 |