#実現したいこと
Photonを用いたマルチプレイゲームで、
マップ選択画面から指定したマップへと正常に移動したい。
発生している問題・エラーメッセージ
シーンを移動するためのボタンを押すと
他のシーンが一緒に読み込まれ、意図していないシーンへと遷移してしまう。
(昨日まで正常にシーン遷移できていた。)
該当のソースコード
マップ1へ移動するボタンにアタッチしたスクリプト
C#
1using UnityEngine; 2using UnityEngine.UI; 3using UnityEngine.SceneManagement; 4using Photon.Pun; 5using Photon.Realtime; 6 7public class Map1 : MonoBehaviourPunCallbacks 8{ 9 10 //ログインボタンを押したときに実行される 11 public void Connect() 12 { 13 if (!PhotonNetwork.IsConnected) { //Photonに接続できていなければ 14 PhotonNetwork.ConnectUsingSettings(); //Photonに接続する 15 Debug.Log("Photonに接続しました。"); 16 } 17 } 18 19 //ルームに入室前に呼び出される 20 public override void OnConnectedToMaster() 21 { 22 Debug.Log("OnConnectedToMasterが呼ばれました"); 23 // "room"という名前のルームに参加する(ルームが無ければ作成してから参加する) 24 PhotonNetwork.JoinOrCreateRoom("TestRoom", new RoomOptions(), TypedLobby.Default); 25 } 26 27 //ルームに入った時に呼ばれる 28 public override void OnJoinedRoom() 29 { 30 Debug.Log("ルームに入りました。"); 31 //シーンをロード 32 PhotonNetwork.LoadLevel("TestScene"); 33 } 34 35}
マップ2へ移動するためのボタンにアタッチしたスクリプト
using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using Photon.Pun; using Photon.Realtime; public class Map2 : MonoBehaviourPunCallbacks { //ログインボタンを押したときに実行される public void Connect() { if (!PhotonNetwork.IsConnected) { //Photonに接続できていなければ PhotonNetwork.ConnectUsingSettings(); //Photonに接続する Debug.Log("Photonに接続しました。"); } } //ルームに入室前に呼び出される public override void OnConnectedToMaster() { Debug.Log("OnConnectedToMasterが呼ばれました"); // "room"という名前のルームに参加する(ルームが無ければ作成してから参加する) PhotonNetwork.JoinOrCreateRoom("MeetingRoom", new RoomOptions(), TypedLobby.Default); } //ルームに入った時に呼ばれる public override void OnJoinedRoom() { Debug.Log("ルームに入りました。"); //シーンをロード PhotonNetwork.LoadLevel("MeetingRoom"); } }
マップ3へ移動するためのボタンにアタッチしたスクリプト
using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using Photon.Pun; using Photon.Realtime; public class Map3 : MonoBehaviourPunCallbacks { //ログインボタンを押したときに実行される public void Connect() { if (!PhotonNetwork.IsConnected) { //Photonに接続できていなければ PhotonNetwork.ConnectUsingSettings(); //Photonに接続する Debug.Log("Photonに接続しました。"); } } //ルームに入室前に呼び出される public override void OnConnectedToMaster() { Debug.Log("OnConnectedToMasterが呼ばれました"); // "room"という名前のルームに参加する(ルームが無ければ作成してから参加する) PhotonNetwork.JoinOrCreateRoom("park", new RoomOptions(), TypedLobby.Default); } //ルームに入った時に呼ばれる public override void OnJoinedRoom() { Debug.Log("ルームに入りました。"); //シーンをロード PhotonNetwork.LoadLevel("park"); } }
試したこと
Unityの再インストール
ビルド設定におけるシーンの削除と再登録
補足情報(FW/ツールのバージョンなど)
OS:MacOS Mojave 10.14.6
Ver:2019.4.13f1 Personal
あなたの回答
tips
プレビュー