我有一个使用 Unity 的小型多人游戏。作为主机(名为 NiciBozz 的汽车),它看起来像这样:
这很好,但作为客户端(这里名为 NiciBot),它看起来像这样:
与用户名相关的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
[NetworkSettings(channel = 1, sendInterval = 0.2f)]
public class PlayerControll : NetworkBehaviour
{
public Text Name;
[SyncVar]
public string playerName;
private void Start()
{
if (isLocalPlayer)
{
CmdChangeName(PlayerPrefs.GetString("Name"));
}
}
[Command(channel =1)]
private void CmdChangeName(string name)
{
if (!isLocalPlayer)
{
Name.text = name;
playerName = name;
SetDirtyBit(1);
return;
}
Name.text = name;
playerName = name;
SetDirtyBit(1);
}
}
我应该怎么做才能正确同步用户名?