首页 > 解决方案 > 如何通过 Photon PUN 同步变量

问题描述

我需要同步一个变量,以便所有玩家都具有相同的值。我试过这样的东西

[PunRPC]
void Setting ()
{
I = somevalue;
//I Is my int
}

我这样称呼它:

PhotonView PV = GetComponent<PhotonView>();
PV.RPC("Setting", RPCTargets.All);

但是 int 值为空。我究竟做错了什么?

标签: c#unity3dphoton

解决方案


您必须将函数参数传递给所有客户端才能获取此参数。只需将您的代码更改为:

[PunRPC]
void Setting (int someValue)
{
I = somevalue;
}

void CallSetting()
{
PhotonView PV = GetComponent<PhotonView>();
PV.RPC("Setting", RPCTargets.All, someValue);
}

您可以在设置功能上附加PhotonMessageInfo 以了解此客户端进行设置调用的更多信息。

[PunRPC]
void Setting (int someValue,  PhotonMessageInfo info)
{
}

推荐阅读