PUN2を使用しています
一番最初にroomに入室したユーザがMoviePlayerというPlaneオブジェクトを生成し
次に入ったユーザがそれを参照するようなものを作ろうとしています。
下記のようなスクリプトでテストしているのですが、
最初に入室したユーザは正常にプレハブオブジェクトを生成し、
オブジェクトにアタッチされているMovieControllerスクリプトを参照できます。
しかし、次のユーザが入室すると、
シーン上にマスターユーザが生成したプレハブオブジェクトがあり、
MovieControllerスクリプトもヒエラルキーに存在しているにもかかわらず
MovieControllerスクリプトが参照できません。
※ if (GameObject.Find("MoviePlayer(Clone)") == null)でチェックすると
GameObject.Find("MoviePlayer(Clone)")自体はnullではなくきちんと存在しています
何か原因がわかる方がおられましたらアドバイスいただけるとありがたいです。。
c#
1public override void OnJoinedRoom() 2{ 3 Debug.Log("OnJoinedRoom"); 4 5 int id = PhotonNetwork.CountOfPlayers; 6 PhotonNetwork.LocalPlayer.SetPlayerNumber(id); 7 8 CreateMoviePlayer(); 9 10} 11 12public void CreateMoviePlayer() 13{ 14 Photon.Realtime.Player player = PhotonNetwork.LocalPlayer; 15 16 if (PhotonNetwork.InRoom) 17 { 18 switch (player.IsMasterClient) 19 { 20 case true: 21 22 Debug.Log("オーナー"); 23 24 PhotonNetwork.Instantiate("Prefabs/MoviePlayer", new Vector3(0, 0, 0), Quaternion.Euler(-270, -90, 90)); 25 videoobj = GameObject.Find("MoviePlayer(Clone)"); 26 moviecontroller = videoobj.GetComponent<MovieController>(); 27 28 break; 29 30 case false: 31 32 Debug.Log("オーナーではない"); 33 34 videoobj = GameObject.Find("MoviePlayer(Clone)"); 35 moviecontroller = videoobj.GetComponent<MovieController>(); //←これがエラーになる 36 break; 37 } 38 } 39 } 40 41
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。