Unity 遊戲中的成就

Stay organized with collections Save and categorize content based on your preferences.

本主題將說明如何在 Unity 遊戲中使用 Play 遊戲服務成就。

設定並建立成就

  • 設定專案和 Unity 的 Google Play 遊戲外掛程式。詳情請參閱入門指南

  • 設定專案和外掛程式時,請在 Google Play 管理中心建立成就,然後使用成就的 Android 資源更新外掛程式。如要進一步瞭解在 Play 管理中心內建立成就,請參閱「成就指南」。

顯示並解鎖成就

如要解鎖成就,請使用 Social.ReportProgress 方法與 100.0f 的進度值:

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // unlock achievement (achievement ID "Cfjewijawiu_QA")
    Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
      // handle success or failure
    });

請注意,根據 Social.ReportProgress 的預期行為,進度 0.0f 代表顯示成就,而進度 100.0f 則代表解鎖成就。因此,如要顯示成就 (之前為隱藏) 而不解鎖,只要使用進度 0.0f 呼叫 Social.ReportProgress 即可。

增加成就

如果成就是逐漸增加,則 Unity.ReportProgress 的 Play 遊戲實作程序會嘗試盡可能依照 Unity 的社交 API 的預期行為表現,但可能不會完全相同。因此,建議增加成就的部分不要使用 Social.ReportProgress,而是改用 PlayGamesPlatform.IncrementAchievement 方法 (Play 遊戲擴充功能)。

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
    PlayGamesPlatform.Instance.IncrementAchievement(
        "Cfjewijawiu_QA", 5, (bool success) => {
            // handle success or failure
    });

顯示成就 UI

如要顯示所有成就的內建 UI,請呼叫 Social.ShowAchievementsUI

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // show achievements UI
    Social.ShowAchievementsUI();