发送RPC添加playerName

本文关键字:playerName 添加 RPC 发送 | 更新日期: 2023-09-27 18:04:54

我试图做到这一点,每当玩家连接到服务器,它传输它的选择名称,到RPC,然后将更新玩家游戏对象为每个人。但这似乎会产生以下错误:

发送RPC失败,因为'setPlayerName'参数0 (UnityEngine.GameObject)不支持。

这是我的代码:

void OnConnectedToServer() {
    GameObject newPlayer = (GameObject)Network.Instantiate(newPlayerPrefab, new Vector3(0,0,0), Quaternion.identity, 0);
    networkView.RPC("setPlayerName", RPCMode.AllBuffered, newPlayer);
}
[RPC]
void setPlayerName(GameObject newPlayer) {
    newPlayer.name = "Player_" + playerName;
}

如果这不是改变新生成玩家的gameObject名称的正确方法,那么请帮助我一种方法,这实际上是正确的方法。

发送RPC添加playerName

GameObject不支持作为NetworkView.RPC的参数…您可以在这里看到支持的参数类型:

http://docs.unity3d.com/Documentation/Components/net-RPCDetails.html

(也可以使用文档中没有提到的byte[])

也许你可以将玩家的名字作为字符串发送,让服务器处理游戏对象的创建