質問: new Vector3(Random.Range(-5f, 5f), Random.Range(-2.5f, 2.5f)); Network.Instantiate(prefPlayer, pos, Quaternion.identity, 0); } } ``` このようにかいたところ、先に「上のゲームサーバーに接続」を押すとUGUIが消えて 誰かが「ゲームサーバーになる」ボタンを押さない限り動かせなくなります。 先に「上のゲームサーバーに接続」を押してもUGUIが消えないようにするにはどうすればいいですか?(「ゲームサーバーになる」ボタンが押された後ならUGUIが消えるようにしたいです) あと、ルームに2人以上入った状態で1人がゲームをやめてもプレイヤーのプレファブが消えず誰かのプレイヤーと一緒に動いてしまいます。 通信が切れたらプレファブを消すにはどうすればいいですか? もしこのスクリプトを変えるより簡単な方法があったら教えてください。 回答よろしくお願い致します。
回答: 接続先のサーバーが無い状態で Network.Connect() を実行すると その中から戻ってこないのでは無いでしょうか? Connect() でブロックしてしまうと OnGUI() も終了できず、 結果として表示を更新できない、というような事になっているのでは ないかと推察します。 処理に時間がかかるような物はあまり OnGUI() の中で実行しない方が いいと思いますし、Network.Connect() をコルーチンで実行するように するなど、構成を変えてみてはどうでしょうか?