我最近正在使用 Unity3d 和 Photon PUN2 開發我的多人游戲;
我想制作一個系統,如果不是avilabe ,玩家單擊按鈕加入房間然后創建;
當從p1的兩個玩家(parrelSync)開始游戲時,它只會使房間正常(因為在開始時沒有可用的房間)
表格p2它不加入房間
這是代碼
string roomID = "002";
string maxPlayers = "10";
RoomOptions roomOptions = new RoomOptions();
roomOptions.MaxPlayers = (byte)int.Parse(maxPlayers);
if(PhotonNetwork.CurrentRoom != null){
PhotonNetwork.JoinRoom(roomID);
}else{
PhotonNetwork.CreateRoom(roomID, roomOptions);
}
}


uj5u.com熱心網友回復:
PhotonNetwork.CurrentRoom回傳您當前所在的房間,在您的情況下始終為空。
當我們嘗試加入尚不存在的房間時,而不是檢查PhotonNetwork.CurrentRoom僅使用PhotonNetwork.JoinRoom并覆寫將被呼叫的,并在其中創建新房間。OnJoinRoomFailed()roomID
像下面這樣的東西會起作用
private string roomID = "002";
private void YourMethod() {
string maxPlayers = "10";
RoomOptions roomOptions = new RoomOptions();
roomOptions.MaxPlayers = (byte) int.Parse(maxPlayers);
PhotonNetwork.JoinRoom(roomID);
}
public override void OnJoinRoomFailed(short returnCode, string message) {
PhotonNetwork.CreateRoom(roomID);
}
并覆寫OnJoinRoomFailed()確保您的腳本是從MonoBehaviourPunCallbacks類派生的
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/449572.html
上一篇:如何將2D物件統一旋轉90度
下一篇:盒子對撞機不能統一識別剛體
