Unity中Photon房间最大玩家数限制失效问题解决咨询
解决Photon房间最大玩家数限制失效问题
问题出在你创建房间的代码里:你已经定义了设置最大玩家数为2的RoomOptions,但没有把这个配置对象传给PhotonNetwork.CreateRoom方法,导致你的MaxPlayers设置根本没生效,房间还是使用Photon默认的玩家上限,所以满2人后依然能进新玩家。
修改后的CreateRoom方法代码如下:
public void CreateRoom() { if (!string.IsNullOrEmpty(UserNameInput.text) && !string.IsNullOrEmpty(createInput.text)) { PhotonNetwork.LocalPlayer.NickName = UserNameInput.text; RoomOptions roomOptions = new RoomOptions(); roomOptions.MaxPlayers = 2; // 关键:把roomOptions作为参数传入CreateRoom PhotonNetwork.CreateRoom(createInput.text, roomOptions); } else Debug.LogError("Username or room name is empty"); }
额外建议:可以重写OnJoinRoomFailed回调,当玩家尝试加入已满的房间时给出明确提示,提升体验:
public override void OnJoinRoomFailed(short returnCode, string message) { Debug.LogError($"加入房间失败:{message}"); // 这里可以给玩家显示UI提示,比如"房间已满,请选择其他房间" }
内容的提问来源于stack exchange,提问作者Andrei Voicea
相关产品推荐
相关产品推荐

