📅  最后修改于: 2023-12-03 15:22:46.143000             🧑  作者: Mango
在使用 Photon Unity Networking (PUN) 的 Unity 项目中,可以使用 PhotonNetwork
类来加入或创建一个 Room(房间)。
您可以通过使用 PhotonNetwork.JoinRoom
方法来加入一个已经存在的 Room。该方法接受一个字符串参数,该参数是 Room 的名称。参考代码如下:
// 加入名为 "MyRoom" 的 Room
PhotonNetwork.JoinRoom("MyRoom");
如果成功加入 Room,则会调用一个回调方法 OnJoinedRoom()
。在该方法中,您可以执行 Room 加入后的操作。例如,将玩家放置在正确的位置等。参考代码如下:
// 如果成功加入 Room,则会调用该方法
public void OnJoinedRoom()
{
// 在这里执行 Room 加入后的操作
// ...
}
如果不存在您想加入的 Room,则可以使用 PhotonNetwork.CreateRoom
方法来创建一个新的 Room。该方法接受一个字符串参数,该参数是新 Room 的名称,以及一个 RoomOptions
对象,该对象包含有关 Room 的其他信息,例如 Room 的最大玩家数,是否可见等。
参考代码如下:
// 创建一个名为 "MyRoom",最大玩家数为 4,可见性为可见的 Room
RoomOptions options = new RoomOptions { MaxPlayers = 4, IsVisible = true };
PhotonNetwork.CreateRoom("MyRoom", options);
如果成功创建 Room,则会调用一个回调方法 OnCreatedRoom()
。在该方法中,您可以执行 Room 创建后的操作。例如,将玩家放置在正确的位置等。参考代码如下:
// 如果成功创建新 Room,则会调用该方法
public void OnCreatedRoom()
{
// 在这里执行 Room 创建后的操作
// ...
}
OnJoinRoomFailed()
。您可以在此回调方法中执行错误处理的代码。参考代码如下:// 当加入 Room 失败时调用该方法
public void OnJoinRoomFailed()
{
// 在这里执行加入 Room 失败的处理代码
// ...
}
OnConnectedToMaster()
。在该方法中,您可以执行连接成功后的操作。例如,加入 Lobby 等。参考代码如下:// 当连接到 Photon 服务器时调用该方法
public void OnConnectedToMaster()
{
// 在这里执行连接成功后的操作
// ...
}