无法统一设置带有 syncvars 的文本
unable to set text with syncvars in unity
我最终想显示活跃玩家,但我在设置文本框的值时遇到了问题。
我的理解是,一旦玩家加入,我需要使用syncvars在每个客户端上显示所有玩家的名字。所以首先,我正在尝试这个...
[SyncVar(hook = "OnPlayerName")]
public string name;
void OnPlayerName(string newPlayerName)
{
playerlist.text = name;
}
public override void OnStartClient()
{
name = "terrance";
}
当我运行这个的时候,文本框是空的。如果我设置没有 syncvars 的文本,它就可以工作。当然,如果我在不使用 syncvars 的情况下进行更改,则更改仅对本地客户端可见。
解决方案:
参数 newPlayerName 需要匹配变量名,所以在这种情况下 "name"...
void OnPlayerName(string name)
您正在将它连接到一个不存在的函数,
"OnPlayName"
应该是
[SyncVar(hook = "OnPlayerName")]
public string name;
我最终想显示活跃玩家,但我在设置文本框的值时遇到了问题。
我的理解是,一旦玩家加入,我需要使用syncvars在每个客户端上显示所有玩家的名字。所以首先,我正在尝试这个...
[SyncVar(hook = "OnPlayerName")]
public string name;
void OnPlayerName(string newPlayerName)
{
playerlist.text = name;
}
public override void OnStartClient()
{
name = "terrance";
}
当我运行这个的时候,文本框是空的。如果我设置没有 syncvars 的文本,它就可以工作。当然,如果我在不使用 syncvars 的情况下进行更改,则更改仅对本地客户端可见。
解决方案: 参数 newPlayerName 需要匹配变量名,所以在这种情况下 "name"...
void OnPlayerName(string name)
您正在将它连接到一个不存在的函数,
"OnPlayName"
应该是
[SyncVar(hook = "OnPlayerName")]
public string name;