Unity 遊戲中的關卡

本主題說明如何在 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 表示成就已解鎖。

如要在未解鎖的情況下,顯示先前隱藏的成就,請呼叫 Social.ReportProgress,並將值設為 0.0f。

增加成就

如果成就為遞增性質,Social.ReportProgress 的 Play 遊戲實作項目會嘗試依據 Unity 的 Social 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();