這只是筆記,一定要配合原文食用!
原文地址:http://www.lxweimin.com/p/1f374bb4819c
作者:浪尖兒
Photon Unity Networking基礎教程
1 Lobby- 筆記 之 連接服務器,房間訪問和創建
設置log日志輸出等級 -PhotonNetwork.logLevel
PhotonNetwork.logLevel屬性可以設置日志輸出等級(PhotonNetwork日志輸出是輸出到Unity 控制臺的)。
它的類型是PhotonLogLevel枚舉類型,可有以下3種值:
PhotonLogLevel.ErrorsOnly 只輸出錯誤信息
PhotonLogLevel.Informational 只輸出平時需要的信息
PhotonLogLevel.Full 所有的信息全部都輸出
是否自動加入大廳 - PhotonNetwork.autoJoinLobby
PhotonNetwork.autoJoinLobby屬性可以設置玩家是否加入大廳
false代表不自動加入
true代表自動加入
是否同步玩家的場景 - PhotonNetwork.automaticallySyncScene
PhotonNetwork.automaticallySyncScene屬性可以設置是否自動同步玩家的場景
false代表不
true代表主機可以調用PhotonNetwork.LoadLevel(),此時所有連接的玩家都會自動的加載同樣的Level場景中
(也就是說,如果說是設置為true,當一個玩家跳場景的時候,其他玩家也跟著跳(這確保我們可以在主客戶端上使用PhotonNetwork.LoadLevel()))
進行連接 - PhotonNetwork.ConnectUsingSettings(string gameVersion)
調用PhotonNetwork.ConnectUsingSettings()方法,是您的游戲的聯網和連接到Photon Cloud的起點
調用這個方法后,就可以向Photon云發起連接
參數是游戲版本,不同版本的玩家,是不會相遇的(不會加到同一個房間中)
是否已經連接 - PhotonNetwork.connected
PhotonNetwork.connected屬性(只讀)可以查看是否已經連接到Photon云
如果為true,表示已經連接到Photon云
如果為false,表示未連接到Photon云
加入一個隨機房間 - PhotonNetwork.JoinRandomRoom()
調用PhotonNetwork.JoinRandomRoom()方法,可以讓玩家隨機加入一個房間(必須連接上Photon云)
新建一個房間 - PhotonNetwork.CreateRoom()
調用PhotonNetwork.CreateRoom()方法,可以創建一個新的房間
創建一個房間,但如果這個房間已經存在,則會失敗。 只能在主服務器上調用。
參數:PhotonNetwork.CreateRoom(string roomName , RoomOptions roomOptions , TypedLobby typedLobby , string[] expectedUsers) : bool
roomName: 創建房間的獨特名稱。 也可以通過null或“”使服務器自動生成一個名稱。
roomOptions: 其中包含房間的常見選項,如MaxPlayers(每個房間的最大玩家人數)。 請參閱RoomOptions類型..
typedLobby: 如果為空(null),則在當前使用的大廳中自動創建房間(當您未明確加入時,這是“默認(default)”)。
expectedUsers: 誰可以加入這個游戲的用戶名(UserId)的列表。
返回值:bool類型。
當成功時,這將調用回調函數OnCreatedRoom()和OnJoinedRoom()(后者,是您作為房客加入)。
如果房間無法創建(因為它已經存在),回調函數OnPhotonCreateRoomFailed()被調用。
如果您不想創建一個自己取名字的房間,請傳遞null或“”作為名稱,并且服務器將分配一個roomName(GUID作為字符串)。
如果您設置了一個typedLobby參數,那么將在該大廳中創建房間(無論您是否處于活動狀態)。如果您沒有設置typedLobby,房間將自動放置在當前活動的大廳(如果有)或default-lobby。
PhotonNetwork.autoCleanUpPlayerObjects將成為這個房間的autoCleanUp屬性(自動清理玩家)。