Wen我按下了发送按钮(因此调用了发送功能),客户端没有调用服务器命令。服务器很好地调用RPC函数并发送消息,客户端按预期显示了该消息。检查本地玩家权限。
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
[System.Obsolete]
public class chat : NetworkBehaviour
{
public GameObject input;
public Transform content;
public GameObject messageobj;
private Text text;
private void Start()
{
text = input.GetComponent<Text>();
}
public void Send()
{
Debug.Log("Send");
CmdSend(text.text);
}
[Command]
public void CmdSend(string message)
{
Debug.Log("CMD");
RpcSend(message);
}
[ClientRpc]
public void RpcSend(string message)
{
Debug.Log("RPC");
PutMessageToScreen(message);
}
public void PutMessageToScreen(string message)
{
Debug.Log("all");
GameObject mess = Instantiate(messageobj, content);
mess.GetComponent<Text>().text = message;
}
}
如果具有此脚本的对象在现场。不是经理生成它,这就是为什么它没有发送命令的原因。聊天必须附加到播放器上!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句