我正在使用Photon Unity网络,我正在开发我自己的一个小游戏。
我已经到了一个有玩家和暴徒的房间了。当一个新的播放器出现时,我使用RPC调用向所有其他连接的用户更新关于这个播放器的信息,以获得同步。问题是..这个新玩家没有关于房间其他人的任何信息(他的信息不是最新的)。我的意思是例如其他玩家的当前健康,或者暴徒的当前健康,等等。
我想出的唯一解决方案是将RPC发送到主客户端,传递周围的所有易失性对象,并将几个RPC调用发送回带有此更新的新播放器。
我想问的是...我真的要这样做吗?或者有没有其他更好或更简单的方法?
发布于 2015-02-05 09:07:52
好的,那么声子网络通过光子网络视图工作--以及它的观察到的组件,这意味着你必须通过这个观察到的脚本中的脚本(如果它是你的角色,并且你正在控制它)
m_PhotonView = GetComponent<PhotonView>(); //Variable
if( m_PhotonView.isMine == true ) //in Void Update()通过使用SetSynchronizedValues(),您需要的所有变量,位置,旋转,名称,健康,动画的相关数据等等
Variable = GetComponent<PhotonTransformView>();
Variable .SetSynchronizedValues( Position, Health , Name);它会同步变量,然后你必须使用它们(显示名称,将对象设置到正确的位置,显示一个健康条并调整它的大小),如果它是一个非控制字符
if( m_PhotonView.isMine == false)希望我能帮到你
https://stackoverflow.com/questions/26130544
复制相似问题