我正在尝试在玩家之间同步单元中的文本,但出现错误。 我只需要同步文本 [1]:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Photon.Pun;
using UnityEngine.UIElements;
public class Sync : MonoBehaviourPunCallbacks
{
private PhotonView view;
public Text textGame;
public Text copied;
void Start()
{
view = GetComponent<PhotonView>();
}
public void sync()
{
if(view.IsMine)
view.RPC("ViewAll", RpcTarget.AllBuffered, textGame.text);
}
[PunRPC]
public void ViewAll(string tG)
{
tG = copied.text;
Debug.Log(tG);
}
}```
пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп
错误告诉您“view”变量尚未分配,因此为空。
要分配它,您可以将该字段公开,然后在检查器中您 分配你想要的 photonView,我猜是玩家的。
或者,您可以不从检查器而是在
中分配“视图”
Start() 或 Awake() 方法。如果你要关联的photonView是
在与脚本相同的 GameObject 上,你可以这样写:
void Awake()
{
view = GetComponent<PhotonView>();
}
但是,最简单的答案是将“view”替换为“photonView”。 它将具有与上述解决方案相同的结果,但非常简单。
public void sync()
{
if(photonView.IsMine)
view.RPC("ViewAll", RpcTarget.AllBuffered, textGame.text);
}
我没有直接给你简单的口号让你充分了解问题并帮助你解决。