code VR

Unity×VR(167)

スポンサーリンク

//tips

//微調整

引き続きTermcheckスクリプトの勝利条件の修正を進める。

Termcheckスクリプトの下記でプレイヤー人数が二人以上になったときにwolfプレイヤーを取得させ、termcheck()メソッドを実行させるようにしているが生成が間に合わず、nullになっているとしたらplayers.Lengthでオブジェクトが取れていることと矛盾してしまう。

if (players.Length>1)
{
gamestart = true;
}

public void termcheck()
{
Winscenemove = GameObject.FindGameObjectWithTag("Wincheck").GetComponent<Winscenemove>();

if (myPlayer == null)
{
Winscenemove.Humanwin();
//SceneManager.LoadScene("humanwin");
}

再度unityのエディターも加えて過程を確認する。

違和感があったのは二人目の入室であるはずなのに一人目とカウントされ、次の入室者が二人目としてwolfのroleを取得したこと。

ただ、3番目であることは正確に認識されているようでDebug.Log(players.Length);には下記のように表示されている。

3
UnityEngine.Debug:Log(Object)
Termcheck:Update() (at Assets/Termcheck.cs:19)

この処理の後にはUIを自身の役のもののみ残すためhumanoffの処理を行なっている。

public void Humanoff()
{
Debug.Log("Humanoff()");
childobject = GameObject.FindWithTag("UICwolf");
childobject.SetActive(false);
Debug.Log(childobject);

}

これは同時にこのタイミングでwolfoffを自分より前に入室したプレイヤーたちが行なっていることを表す。

つまり、最初の一人が余分にいるため、wolfがいない状態でtermcheck();が実行されているので問題が起きていることがわかった。

gamestart はboolなので4人揃ったら実行すればいい(players.Length>3)。これで問題なくなった。

ただ、なぜ最初の一人がrole上認識されていないのかがわからないのでこちらの問題を究明していく。

ルームには全員入室している状態で、キャラクター選択ボタンを押すと、下記2つのメソッドが実行される。OpenUi2()はそのキャラクターのhumanおよびwolfのui表示処理で、BeforeCount()はプレイヤー生成カウント処理となる。

public void BeforeCount()
{
photonView.RPC(nameof(LobbyCount), RpcTarget.AllViaServer, PhotonNetwork.LocalPlayer.UserId);
}

public void OpenUi2()
{
StartCoroutine("thisHide2");
flag = true;
}

BeforeCount()の方にエラーが生じている恐れがあるので内容を確認していく。
Debug.Log(lobbyPlayerMaxCount);の推移を注視していく。

[PunRPC]
public void LobbyCount(string id)
{
lobbyPlayerMaxCount++;

Debug.Log(lobbyPlayerMaxCount);
Onflag(id);
}

最初にピックした場合4人分呼ばれている。

2番目、3番目にピックした場合も試したが問題なく反応した。

選択画面への遷移にタイムラグがあり、それが問題になっている可能性があるので、画面待機時間をもう少し伸ばしてみる。

CharaUIchange2スクリプトの管理秒数を30まで増加させて、30秒経っても選択されていなかったら自動処理するようにした。

if (seconds >= 30f)
{

if (!flag)
{
OpenUi1();
photoncount.BeforeCount();
}

 

人気の記事

1

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

3

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

-code, VR
-,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.