お世話になっております。今、photonでオンラインゲームを作っているのですが、オンラインでないゲームと同様に以下のスクリプトを書くとエラーが生じました。以下のスクリプトはネットワーク上でPhotonNetWork.Instantiateした同期オブジェクトにアタッチしていたスクリプトを参照しようとしたものです。
ここで確認すると同期している相手のオブジェクトにはPrefab生成時にアタッチしていたスクリプトが付いていませんでした。そのためtargetScriptがNullになっていることがわかりました。
この時targetはNullではありませんでした。
PUN2を使っているのですがネットワーク上で同期している相手のスクリプトを参照するためにはどうしたらよろしいのでしょうか。ご教授いただけると幸いです。よろしくお願いいたします。
///この上に敵のオブジェクトをtargetに格納するスクリプトがあります。 if(target!=null){ //敵のスクリプトを参照 Online targetScript = target.GetComponent<Online>(); }
追記
キャラクターにアタッチしていたスクリプト自体がキャラクターから外れています。そのためPhotonViewのリストに登録していたところがMissingになっています。このスクリプトはMonoBehaviorCallBacks,IPunObservableを継承しています。自分のプレイヤーにはついているのですが、同期した他のプレイヤーにはついていません。なお、MonoBehaviorのスクリプトはすべとのプレイヤーがしっかりついています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/06 02:13
2019/03/11 13:19