##実現したいこと
RPCでネットワークオブジェクトを生成・操作する。
##事象
「photonView.RPC(nameof(Init), RpcTarget.All, p1Hand,p2Hand);」コマンドで
オブジェクトがNULLであるようなエラーメッセージが出力される。
##エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object
GameManager.OnJoinedRoom () (at Assets/Scripts/GameManager.cs:29)
Photon
29行目:photonView.RPC(nameof(Init), RpcTarget.All, p1Hand,p2Hand);
##コード
using System.Collections; using System.Collections.Generic; using Photon.Pun; using Photon.Realtime; using UnityEngine; public class GameManager : MonoBehaviourPunCallbacks { [SerializeField] Transform p1Hand; [SerializeField] Transform p2Hand; void Start() { PhotonNetwork.ConnectUsingSettings(); } public override void OnConnectedToMaster() { // "room"という名前のルームに参加する(ルームが無ければ作成してから参加する) PhotonNetwork.JoinOrCreateRoom("room", new RoomOptions(), TypedLobby.Default); } // マッチングが成功した時に呼ばれるコールバック public override void OnJoinedRoom() { CreateCard create; create = new CreateCard(); //RPCを使用せず、↓のInitで実行すると正常に実行される。 //Init(p1Hand,p2Hand); photonView.RPC(nameof(Init), RpcTarget.All, p1Hand,p2Hand); } [PunRPC] public void Init(Transform p1Hand, Transform p2Hand) { GameObject Card11 = PhotonNetwork.Instantiate("Card", Vector3.zero, Quaternion.identity); Card11.transform.SetParent(p1Hand.transform); GameObject Card12 = PhotonNetwork.Instantiate("Card", Vector3.zero, Quaternion.identity); Card12.transform.SetParent(p1Hand.transform); } }
コードは ``` で囲んで見やすくしてください。
> GameManager.cs:29
29 行目はここだ、ということを明示してください。つまり、どの行でエラーが出たのかを明示してください。コードを修正したのなら行番号も変わったりしますから、エラーが出た時にどの行でエラーになったのか確認して、どの行でエラーになったのかを明示してください。
回答2件
あなたの回答
tips
プレビュー