2016-06-10 98 views
2

我想知道什麼是Photon Networking 主客戶端。文檔得到folowing使用場景此術語:何時使用Photon Networking主客戶端?

在沒有服務器的,它可以製成負責處理邏輯 只能由一個客戶端在一個房間中執行(例如,啓動匹配 時大家都準備好了)。

爲什麼我要將一些服務器功能委託給其中一個客戶端? Photon Server是否應該始終可用?

例如,在this光子教程中,他們使用的報價 「非常方便的功能」:

PhotonNetwork.automaticallySyncScene = true

如果這是真的,該MasterClient可以調用 PhotonNetwork.LoadLevel()和所有連接的玩家會自動加載相同級別的 。

爲什麼讓一個客戶的priviliges同步每個人,如果他們有photon服務器呢?

總結我有2個問題:

1)什麼是主客戶端?

2)什麼是典型的使用場景?

非常感謝!

回答

3

光子服務器實際上可以做一點。基本上它只能幫助客戶交換消息。

因爲服務器不能運行遊戲邏輯,你有2個選擇,要麼運行遊戲邏輯在所有客戶端並行或選擇一個客戶端誰做所有的計算和發送產生的遊戲狀態到所有其他客戶端。有了這樣的權威客戶端,讓所有客戶端保持同步更容易。

你不應該那麼在意它的客戶是主人。它被自動分配。如果當前主人斷開連接,則客房中的下一個客戶端接管。如果需要,您仍然可以手動切換主客戶端。

當實施遊戲邏輯,使用PhotonNetwork.isMasterClient屬性來檢查是否當前的客戶端是主。如果您想觸發非主客戶端的某個操作,只需將RPC發送給主服務器,讓其執行操作。