如何通过Photon PUN同步变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Photon PUN同步变量相关的知识,希望对你有一定的参考价值。

我需要同步一个变量,所以所有玩家都有相同的价值。我尝试过这样的事情

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

我用以下方式称呼它:

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

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

答案

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

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

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

您可以在设置功能上传递Photo MessageInfo,以了解此客户端设置调用的更多信息。

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

以上是关于如何通过Photon PUN同步变量的主要内容,如果未能解决你的问题,请参考以下文章

使用 Unity 和 Photon PUN,有没有办法在运行时使用 SetTile() 同步更改对瓷砖地图的更改?

Photon Pun 2 用鼠标改变位置

Photon多人游戏开发教程

Photon PUN:自定义房间属性更改时是不是可以接收事件?

有没有办法使用 Photon Pun2 或 Photon Chat 发送或接收图像、音频和视频?

Unity Photon PUN RPC 只能在房间内使用?