2014-09-30 110 views
0

我正在使用Photon Unity Networking,我正在開發一個小遊戲。RPC同步替代MMORPG,Photon Unity3D

我得到了一個點,我有一個球員和暴徒的房間。 當出現一個新玩家時,我使用RPC調用來更新關於該玩家的信息給所有其他連接的用戶以獲得同步。 問題是,這個新玩家沒有關於房間其他部分的任何信息(他的信息不是最新的)。 我的意思是,例如當前其他玩家的健康狀況,或當前生物的生物等。

我想出的唯一解決方案是發送RPC到主客戶端,通過所有易失物體併發送幾個RPC使用此更新回撥給新玩家。

我問的是...我真的必須這樣嗎?或者還有其他方式,更好還是更簡單?

回答

0

好了,所以在平底船網絡通過光子網絡視圖的作品 - 以及其觀察到的組件,意味着腳本 你必須通過這個觀察腳本(如果你的性格和你控制它)

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) 

希望我可以幫你