gpt4 book ai didi

c# - 发送 RPC 添加 playerName

转载 作者:行者123 更新时间:2023-11-30 18:35:04 25 4
gpt4 key购买 nike

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

Sending RPC failed because 'setPlayerName' parameter 0 (UnityEngine.GameObject) is not supported.

这是我的代码:

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 名称的正确方法,那么请帮我想出一个方法,这实际上是正确的方法。

最佳答案

不支持将 GameObject 作为 NetworkView.RPC 中的参数...您可以在此处查看支持的参数类型:

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

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

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

关于c# - 发送 RPC 添加 playerName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15518311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com