W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
編寫:dupengwei - 原文:http://developer.android.com/training/tv/games/index.html
TV屏幕為手機游戲開發(fā)者提供了大量的新思考。這些領(lǐng)域包括它的大尺寸,它的控制方案和所有玩家可以同時觀看的事實。
開發(fā)TV游戲時有兩點要記住,就是TV屏幕具有共享顯示器的特性,和橫向設(shè)計游戲的需求。
客廳TV帶來了多人游戲的設(shè)計挑戰(zhàn),客廳TV游戲時所有玩家都可以看到。這個問題與游戲,特別是依靠每個玩家用于隱藏信息的游戲(如紙牌游戲、戰(zhàn)略游戲)息息相關(guān)。 我們可以通過實現(xiàn)一些機制來解決一個玩家竊取另一玩家信息的問題。這些機制是:
TV總是單向顯示的:我們不能翻轉(zhuǎn)它的屏幕,且沒有縱向顯示。要總是以橫向顯示模式設(shè)計我們的TV游戲。
TV沒有觸摸屏接口,所以更重要的是獲取控制要正確,并確保玩家使用起來要直觀和有趣。處理控制器還介紹了其他一些問題需要注意,如跟蹤多個控制器,,處理斷開要適當(dāng)。
圍繞方向鍵(D-pad)控制來計劃我們的控制方案,因為這種控制是Android TV設(shè)備的默認設(shè)置。玩家需要在游戲的所有方面使用方向鍵(D-pad)——不僅僅是控制核心游戲設(shè)置,而且能導(dǎo)航菜單和廣告。因此,我們還應(yīng)該確保我們的Android TV游戲不能涉及觸摸屏。例如,一個Android TV游戲不應(yīng)該告訴玩家> 點擊這里繼續(xù)。 如何塑造玩家使用控制器與游戲進行互動的方式將是實現(xiàn)良好用戶體驗的關(guān)鍵:
返回按鈕不應(yīng)該作為切換。例如,不能使用它打開和關(guān)閉一個菜單。它應(yīng)該只能導(dǎo)航后退,breadcrumb-style,玩家之前訪問過屏幕頁面,例如:游戲界面>游戲暫停界面>游戲主界面>Android主界面。 由于返回按鈕應(yīng)該只能進行線性導(dǎo)航(后退),我們可以使用返回按鈕離開一個游戲內(nèi)菜單(由不同的按鈕打開),回到游戲界面。更多關(guān)于導(dǎo)航設(shè)計的信息,參見Navigation with Back and Up。學(xué)習(xí)更多關(guān)于實現(xiàn)的信息,參見Providing Proper Back Navigation。
并不是所有的游戲控制器提供開始,搜索,或菜單按鈕。確保我們的UI不取決于這些按鈕的使用。
當(dāng)多個玩家玩游戲,每個都有他或她自己的控制器,做好每對“玩家-控制器”的映射是很重要的。關(guān)于如何實現(xiàn)“控制器-數(shù)量”識別的信息,參見Input Devices。
當(dāng)控制器從游戲中斷開時,游戲應(yīng)該暫停,并彈出一個對話框促使斷開的玩家重新連接他或她的控制器。 對話框還應(yīng)提供排除故障的提示(如,一個彈出的對話框告訴玩家“檢查我們的藍牙連接”)關(guān)于實現(xiàn)輸入設(shè)備支持的更多信息,參見Handling Controller Actions。具體關(guān)于藍牙連接的信息,參見Bluetooth。
如果我們的游戲提供了可視化的游戲控制說明,控制器圖片應(yīng)該是免費的、品牌化的,并且只能包含與Android兼容的按鈕。 Android兼容的控制器樣圖,點擊Android TV Gamepad Template (ZIP)下載。它包含一個黑底的白色控制器和一個白底的黑色控制器,是一個PNG類型的Adobe?Illustrator?文件。 Figure 1. 控制器說明的示例請使用Android TV Gamepad Template (ZIP)
有一些特殊的東西應(yīng)該包含在游戲的Android Manifest里。
Android TV主界面采用單獨一行來顯示游戲,與常規(guī)應(yīng)用分開顯示。為了讓游戲出現(xiàn)在游戲列表,設(shè)置游戲的manifest清單的標簽下的android:isGame
屬性為"true"
。例如:
<application
...
android:isGame="true"
...
>
游戲控制器對于TV設(shè)備的用戶來說可能不是有效的。為了適當(dāng)?shù)耐ㄖ脩?,游戲需要(或只支持)一個控制器,我們必須在app的manifest里包含這些條目。如果我們需要一個游戲控制器,我們必須在app的manifest中包含以下條目:
<uses-feature android:name="android.hardware.gamepad"/>
如果我們的游戲使用了一個游戲控制器,但是不需要,在app的manifest里包含以下的功能條目:
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
更多關(guān)于manifest條目的信息,參見App Manifest。
如果我們的游戲集成了Google Play Game 服務(wù),我們應(yīng)該記住一些關(guān)于成果的注意事項,登錄,保存游戲,和多人游戲。
我們的游戲應(yīng)包含至少5個(可獲取的)成果。只有一個用戶從一個受支持的輸入設(shè)備控制游戲應(yīng)該能夠獲得成就。關(guān)于成就的更多信息以及如何實現(xiàn),參見Achievements in Android。
我們的游戲應(yīng)該試圖在啟動的時候讓用戶登錄。如果玩家連續(xù)幾次拒絕登錄后,游戲應(yīng)該停止詢問。學(xué)習(xí)更多關(guān)于登錄的信息在Implementing Sign-in on Android。
使用Google Play Services保存游戲來存儲保存的游戲。我們應(yīng)該講保存的游戲綁定到一個特定的谷歌賬號,作為唯一標識,甚至在跨設(shè)備時也不受影響。無論玩家使用手機或TV,游戲應(yīng)該可以從同一個用戶賬號獲取到保存的游戲信息。
我們也應(yīng)該在我們的游戲的UI提供一個選項,讓玩家刪除本地和云存儲端的數(shù)據(jù)。我們可能把選項放在游戲的設(shè)置界面。使用Play Services保存游戲的實現(xiàn)細節(jié),參見Saved Games in Android
一個游戲要提供多人游戲體驗,必須允許至少2個玩家進入一個房間。進一步了解Android的多人游戲信息,參見Android developer網(wǎng)站的Real-time Multiplayer和Turn-based Multiplayer文檔。
提供一個一致和明顯的UI元素,讓用戶適當(dāng)?shù)耐顺鲇螒?。這個元素應(yīng)該用方向鍵導(dǎo)航按鈕訪問,這樣做而不是依賴Home鍵提供退出功能,是因為在使用不同的控制器時,若依賴Home鍵提供退出功能,這既不一致也不可靠。
不要讓android TV的游戲瀏覽網(wǎng)頁。Android TV不支持web瀏覽器。
Note:我們可以使用WebView類實現(xiàn)登錄像Google+ 和 Facebook這樣的服務(wù)。
游戲經(jīng)常需要更大的帶寬提供最佳的性能,許多用戶寧愿選擇有線網(wǎng)而不愿選擇WiFi來提供性能。我們的app應(yīng)該對有線網(wǎng)和WiFi連接都進行檢查。如果我們的app只針對TV,我們不需要檢查3G/LTE服務(wù),而移動app則需要檢查3G/LTE服務(wù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: