前提・実現したいこと
オンライン対戦ゲームを作成中で、UnityのPhotonを使いプレイヤー生成をしているのですが、プレイヤーが生成される時に一緒に名前とタグを設定しているのですが、プレイヤー1だけ反映されてプレイヤー2はプレハブの名前のままでタグも設定されてない状態です。
このような状態なのですが、エラーが出ておらず動いてはいるのですが、プレイヤーの行動の一部をタグで判定しているのでどうにかプレイヤー2の方にも反映させたい感じです。
お助け願います。
困っている部分
一応プレイヤーの生成するコードになってますが、2人目のプレイヤーだけ一部反映されていない感じです。
if (id == 1)
{
StartCoroutine("SetPlayer", 0f);
}
else if (id == 2)
{
StartCoroutine("SetPlayer2", 1f);
StartCoroutine("SetCall", 3f);
}
ロビーに入ったらidで判定してStartCoroutineで読んでいるって感じです。
IEnumerator SetPlayer(float time)
{
yield return new WaitForSeconds(time);
transform.position = new Vector3(25, 13, -12); player = PhotonNetwork.Instantiate("unitychan2", transform.position, Quaternion.identity, 0); player.tag = "Player1"; player.name = playerName.text; player.GetPhotonView().RPC("SetName", PhotonTargets.AllBuffered, PhotonNetwork.player.NickName); JunbiOK1.GetPhotonView().RPC("SetName", PhotonTargets.AllBuffered, PhotonNetwork.player.NickName); } IEnumerator SetPlayer2(float time) { yield return new WaitForSeconds(time); transform.position = new Vector3(25, 13, 62); transform.rotation = Quaternion.Euler(0, 180, 0); player2 = PhotonNetwork.Instantiate("unitychan2", transform.position, transform.rotation, 0); player2.tag = "Player2"; player2.name = playerName.text; player2.GetPhotonView().RPC("SetName", PhotonTargets.AllBuffered, PhotonNetwork.player.NickName); JunbiOK2.GetPhotonView().RPC("SetName", PhotonTargets.AllBuffered, PhotonNetwork.player.NickName); }
プレイヤー2だけこれの内transformと生成、GetPhotonView×2だけ実行されてプレイヤー名やタグなどが実行されてないみたいです。
調べてみてもよくわからないのでお願いします。
補足情報(FW/ツールのバージョンなど)
Unity 2019.2.8f1
あなたの回答
tips
プレビュー