Skip to content

Develop in Unity(CN)

Franklin Chen edited this page Jan 4, 2018 · 1 revision

一旦完成了在 Dev Center 中配置,您就可以切换到 Unity 开始进行开发了。您可以在 Assets\Examples\Main.unity 中找到完整的场景示例。

  1. 创建一个新的 Unity 项目

    New Unity Project

  2. 导入 Unity 插件,启用 Xbox Live 功能

  3. 在 Unity 中登录 Xbox Live

    UserProfileXboxLiveServices prefab 拖拽进场景。并从 GameObject > UI 添加一个 EventSystem

  4. 设置统计数据

    1. 将两个 IntegerStat prefabs 拖拽进场景,把其中一个的名字设置成 "ScoreStat",另一个设置为 "KillsStat"。

    2. 对于 ScoreStat,将它的 ID 设置为 score,将 Display Name 设置为 High Score,也就是在 Dev Center 上设置的值.

      Score Stat

    3. 对于 KillsStat,将它的 ID 设置为 kills,将 Display Name 设置为 Kill Count。我们没有在 Dev Center 配置这个统计数据,这个统计数据将被用于追踪 "Shooting Master" 成就。

      Kills Stat

    4. 将两个 StatPanel prefabs 拖拽进场景,将其中一个的名字设置成 "ScoreStatPanel",另一个设置为 "KillsStatPanel"。

    5. 对于 ScoreStatPanel,在 Inspector 中将它的 Stat 设置为 ScoreStat。对于KillsStatPanel, 将它的 Stat 设置为 KillsStat

      Score Stat Panel

    6. 在场景中添加两个UI button,对每个 button,在 Unity inspector 中给 OnClick 事件添加一个 IntegerStat object, 并调用 Increment 函数。这样每当点击按钮,对应stat的值就会加一。

      Increment Button

    7. 将一个 "FlushStatsButton" UI button 加入场景来调用 RequestFlushToService 函数以手动将数据传输至服务器。

  5. 展示全球排行榜

    将一个 Leaderboard prefab 拖拽进入场景,将 Stat 设置为 ScoreStatLeaderboard TypeGlobal 还有 Entry Count3

  6. 设置 "Shooting Master" 成就

    1. 创建一个继承于 AchievementBaseShootingMasterAchievement class .

      using System;
      
      public class ShootingMasterAchievement : AchievementBase
      {
          public int targetNumber;
      
          private IntegerStat stat;
      
          // Use this for initialization
          void Start()
          {
              stat = GetComponent<IntegerStat>();
              if (stat != null)
              {
                  stat.StatChanged += UnlockAchievement;
                  base.XboxLiveUser = stat.XboxLiveUser;
              }
          }
      
          public override uint CalculateProgress()
          {
              return (uint)Math.Round(Convert.ToDouble(stat.Value) / targetNumber * 100);
          }
      }
    2. 将这个类作为一个 component 添加到 killsStat。这样一来 killsStat 就可以被用来同步解锁成就所需要的击杀数。

    3. 在 Inspector 中,将 ID 设为 1TargetNumber 设为 10

  7. 保存场景。

在以上都完成后,你可以生成并测试您的项目了