日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Google Play游戏服务入门

發布時間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Google Play游戏服务入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

游戲技術在不斷發展。 然而,數十年來,許多核心游戲玩法元素保持不變。 高分,排行榜,任務,成就和多人支持就是例子。 如果您正在為Android平臺開發游戲,則無需手動實現任何這些元素。 您可以直接使用Google Play游戲服務 API。

在本教程中,我將向您展示如何創建一個簡單的Android游戲,如何向其中添加Google Play游戲服務以及如何使用排行榜和成就API。

先決條件

為了能夠遵循本教程,您需要具備以下條件:

  • 最新版本的Android Studio 。
  • 安裝了最新版本的Google Play服務應用的Android設備。

1.創建一個簡單的游戲

將Play游戲服務API添加到空白的Android Studio項目中沒有任何樂趣。 因此,現在讓我們創建一個游戲,用戶只需單擊一個按鈕即可獲得積分。 更準確地說,游戲的目標是在60秒內盡可能多地單擊一個按鈕。

第1步:創建游戲布局

游戲的布局將具有一個Button小部件,用戶將單擊該Button小部件以獲取積分,以及兩個TextView小部件以顯示分數和剩余時間。 如果將它們全部放置在RelativeLayout并在水平和垂直方向上居中,則應具有如下所示的布局文件:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.tutsplus.mylittlegame.MainActivity"><Buttonandroid:text="Start"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_centerHorizontal="true"android:id="@+id/main_button" /><TextViewandroid:text="Time remaining: 0 seconds"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/main_button"android:layout_centerHorizontal="true"android:layout_marginTop="25dp"android:id="@+id/time_view" /><TextViewandroid:text="Score: 0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_above="@+id/main_button"android:layout_marginBottom="28dp"android:layout_centerHorizontal="true"android:id="@+id/score_view" /></RelativeLayout>

我們的游戲將有一個排行榜屏幕和一個成就屏幕。 要允許用戶導航到這些屏幕,請在布局文件的末尾添加兩個以上的Button小部件。

<Buttonandroid:text="Achievements"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_alignParentLeft="true"android:id="@+id/achievements_button"android:onClick="showAchievements"/><Buttonandroid:text="Leaderboard"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_alignParentRight="true"android:id="@+id/leaderboard_button"android:onClick="showLeaderboard"/>

請注意,兩個按鈕都具有onClick屬性。 我們將在以后的步驟中創建它們引用的Java方法。

步驟2:實施游戲邏輯

在活動內部,為我們在布局XML文件中定義的游戲小部件創建成員變量。 此外,為得分創建一個int變量,為游戲狀態創建一個boolean變量。

private Button mainButton; private TextView scoreView; private TextView timeView;private int score = 0; private boolean playing = false;

使用findViewById()方法初始化活動的onCreate()方法內的小部件。

mainButton = (Button)findViewById(R.id.main_button); scoreView = (TextView)findViewById(R.id.score_view); timeView = (TextView)findViewById(R.id.time_view);

要偵聽Button小部件上的單擊,請創建一個OnClickListener并將其添加到其中。

mainButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// More code goes here} });

現在,我們必須實現以下要求:

  • 用戶第一次單擊按鈕時,游戲必須開始。
  • 隨后的每次點擊都應增加score變量。
  • 游戲必須在60秒后結束。

我們可以使用playing變量來區分首次點擊和所有后續點擊。 為了跟蹤時間,我們可以使用抽象的CountDownTimer類,它非常適合我們的需求。 它內部有一個onTick()方法,可以準確地更新timeView以顯示剩余的秒數。 它還具有onFinish()方法,當倒計時結束時將調用該方法。

因此,將以下代碼添加到onClick()方法:

if(!playing) {// The first clickplaying = true;mainButton.setText("Keep Clicking");// Initialize CountDownTimer to 60 secondsnew CountDownTimer(60000, 1000) {@Overridepublic void onTick(long millisUntilFinished) {timeView.setText("Time remaining: " + millisUntilFinished/1000);}@Overridepublic void onFinish() {playing = false;timeView.setText("Game over");mainButton.setVisibility(View.GONE);}}.start(); // Start the timer } else {// Subsequent clicksscore++;scoreView.setText("Score: " + score + " points"); }

此時,您可以運行項目以玩游戲。


2.添加游戲服務依賴項

配置項目以使用Play游戲服務API涉及許多步驟。 通過使用Android Studio的Firebase助手,可以使其中一些自動化。

轉到“ 工具”>“ Firebase”,打開助手窗口。 接下來,在“ 分析”部分中,單擊“ 記錄分析事件”鏈接。 現在,您可以通過單擊“ 連接 到Firebase”按鈕 Android Studio項目連接到Firebase項目。 確保在彈出的對話框中選擇“ 創建新的Firebase項目”選項。


建立連接后,請按向應用程序添加分析按鈕以將所有必需的更改添加到build.gradle文件。

您必須手動添加Play游戲服務的依賴關系。 因此,轉到app模塊的build.gradle文件并添加以下compile依賴項:

compile 'com.google.android.gms:play-services-games:9.8.0'

此外,游戲服務API需要XML配置文件。 在res / values文件夾中創建一個名為games-ids.xml的文件。 我們將在以后的步驟中添加內容。

3.注冊游戲

所有使用Google Play游戲服務的游戲都必須在Play開發者控制臺上注冊。 您必須支付25美元的一次性注冊費才能訪問控制臺。

在控制臺中,單擊游戲板圖標以打開“ 游戲服務”屏幕。


接下來,點擊設置Google Play游戲服務按鈕以開始注冊游戲。

在彈出的對話框中,選擇第二個標簽,因為我們的游戲已經在使用Google API。 現在,您必須能夠在可用項目列表中查看Firebase項目的名稱。 選擇它之后,為游戲選擇一個類別。 目前,您可以使用“ 休閑”類別。


按“ 繼續”后 ,您可以通過單擊“ 鏈接Firebase”按鈕來鏈接Firebase Analytics和Play游戲服務。

接下來,轉到“ 鏈接的應用程序”部分,將您的Android Studio項目鏈接到Play開發者控制臺。 在彈出的對話框中,按Android按鈕,然后在“ 包名稱”字段中輸入項目的包名稱。


按“ 保存并繼續”按鈕為您的游戲生成客戶端ID。


我們的游戲現已成功在Google Play開發者控制臺中注冊。

4.添加測試用戶

僅當您的游戲在Google Play上發布時,Play游戲服務API才有效。 但是,為了允許您測試游戲,開發人員控制臺可讓您關聯一些測試用戶帳戶。 通過轉到“ 測試”部分,您可以添加或刪除測試用戶帳戶。 確保在此處添加您在手機或模擬器上使用的Google帳戶。


5.創建排行榜

排行榜不過是顯示用戶高分的屏幕。 Play游戲服務排行榜可讓用戶查看其每日,每周和歷史最高分。

在Play開發者控制臺上創建排行榜只需點擊幾下。 轉到排行榜部分,然后按添加排行榜按鈕。 在下一個屏幕中,給排行榜起一個有意義的名稱,然后按保存按鈕。


現在我們的排行榜已經準備就緒。

6.創造成就

成就是用戶在管理方面做出的特殊貢獻而獲得的游戲獎勵。 具有很多成就可以解鎖的游戲通常比沒有游戲要有趣。 因此,當今Google Play上的大多數熱門游戲都有數十種甚至數百種成就。

在本教程中,我們將僅向游戲添加一項成就。 其名稱將為Lightning Fast ,當用戶每分鐘要嘗試點擊按鈕100次以上時,它將被解鎖。 要創建成就,請轉到“ 成就”部分,然后按“ 添加成就”按鈕。 輸入成就的名稱和描述后,按保存按鈕。


7.更新游戲配置XML

排行榜和成就都有唯一的標識符。 現在,我們必須將這些標識符以及注冊過程中生成的應用程序ID添加到我們的Android Studio項目中。 您可以通過手動更新我們之前創建的games-ids.xml文件來實現。 但是,我建議您使用開發者控制臺中可用的自動生成的配置代碼。

要獲取自動生成的配置代碼,您可以轉到“ 成就”部分或“ 排行榜”部分,然后按“ 獲取資源”鏈接。 您將看到如下所示的XML代碼:

<?xml version="1.0" encoding="utf-8"?> <!-- Google Play game services IDs. Save this file as res/values/games-ids.xml in your project. --> <resources><string name="app_id">1234567890</string><string name="package_name">com.tutsplus.mylittlegame</string><string name="achievement_lightning_fast">HzkA4Kz04F8MRYIAze</string><string name="leaderboard_my_little_leaderboard">HzkA4Kz04F8MRYIBVU</string> </resources>

復制所有代碼并將其粘貼到項目的games-ids.xml文件中。

8.連接到Play游戲服務

在使用排行榜和成就API之前,我們必須創建一個GoogleApiClient實例并將其連接到Play游戲服務。 因此,將GoogleApiClient對象添加為您的活動的成員變量。

我們必須使用GoogleApiClient.Builder類來構建GoogleApiClient實例。 在構建客戶端時,我們可以使用addApi()和addScope()方法指定我們感興趣的API和API范圍。

此外,我建議您調用enableAutoManage()方法以確保客戶端自動管理與游戲服務的連接。 但是,該方法需要一個OnConnectionFailedListener ,當連接失敗時將調用該方法。 現在,我們將簡單地調用finish()方法以在連接失敗的情況下關閉應用程序。

因此,在onCreate()方法的開頭添加以下代碼:

apiClient = new GoogleApiClient.Builder(this).addApi(Games.API).addScope(Games.SCOPE_GAMES).enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {@Overridepublic void onConnectionFailed(@NonNull ConnectionResult connectionResult) {Log.e(TAG, "Could not connect to Play games services");finish();} }).build();

如果立即運行該應用程序,系統將提示您為自己創建一個玩家ID。 輸入您選擇的玩家ID,然后按“ 登錄”按鈕。


9.使用排行榜

將分數提交到排行榜僅需一行代碼。 您需要做的就是調用Games.Leaderboards類的submitScore()方法。 作為參數,它需要GoogleApiClient實例,排行榜的ID和得分。

在我們的游戲中,我們必須在60秒結束時提交分數。 因此,將以下代碼添加到onFinish()方法中:

Games.Leaderboards.submitScore(apiClient,getString(R.string.leaderboard_my_little_leaderboard),score);

要查看排行榜,我們必須以排行榜意圖開始新的活動。 要獲取頁首橫幅意圖,請調用Games.Leaderboards類的getLeaderboardIntent()方法,并將GoogleApiClient實例和頁首橫幅ID傳遞給它。

我們游戲的布局已經有一個按鈕,可以按下該按鈕來打開排行榜。 其onClick屬性的值為showLeaderboard 。 因此,將以下代碼添加到您的活動中:

public void showLeaderboard(View v) {startActivityForResult(Games.Leaderboards.getLeaderboardIntent(apiClient,getString(R.string.leaderboard_my_little_leaderboard)), 0); }

您可以立即運行該應用程序,然后再次玩游戲。 這次,游戲結束時,您的分數將被提交到排行榜。 這是默認排行榜的樣子:


10.使用成就

通過調用Games.Achievements類的unlock()方法,您可以解鎖任何成就。 該方法期望GoogleApiClient實例和成就的ID作為其唯一參數。

當用戶的分數超過100分時,我們必須解鎖在控制臺中定義的“閃電般的成就”。 因此,在增加分數的代碼之后,添加以下代碼:

if(score>100) {Games.Achievements.unlock(apiClient, getString(R.string.achievement_lightning_fast)); }

顯示成績屏幕所需的代碼與我們編寫的用于顯示排行榜屏幕的代碼非常相似。 您需要做的就是將getAchievementsIntent()方法的返回值傳遞給startActivityForResult()方法。

public void showAchievements(View v) {startActivityForResult(Games.Achievements.getAchievementsIntent(apiClient),1); }

如果您運行應用并再次玩游戲,當您的分數首次超過100分時,您會看到一個成就彈出窗口。


結論

現在,您知道如何在Android Studio項目中使用Google Play游戲服務API。 Play游戲服務不僅限于Android平臺。 它們也可以在Web和iOS平臺上輕松使用。 因此,Play游戲服務可讓您創建跨平臺游戲,并為多個平臺上的用戶提供一致的游戲體驗。

翻譯自: https://code.tutsplus.com/tutorials/get-started-with-google-play-games-services--cms-27755

總結

以上是生活随笔為你收集整理的Google Play游戏服务入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。