这只是笔记,一定要配合原文食用!
原文地址:http://www.jianshu.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属性(自动清理玩家)。