現在、クリッカーゲームのようなものを作っております。
このコードの目的は、画面に配置された複数の3Dオブジェクトをクリックするごとに
画面に表示している数字が減っていき、0になったときにシーンの遷移を行うものです。
ですが、困っている点が2点あります。
1. 画面に表示されている数字が0になったときにシーンの遷移中(フェードアウト中)にも
クリックは可能なので、0以降でもクリックをすればマイナス値のカウントが始まります。
なので0になってから遷移後までは、クリックを受け付けないようにしたいです。
2. 現在のコードでは、オブジェクトに個別でこのスクリプトを追加して、カウントが可能となっています。しかし、仮にAとBの2つのオブジェクトに追加した場合、それぞれ残りカウントが10から開始するためAとB交互にクリックしたとき、実質合計20回のクリックをしなければなりません。
(カウントは10から始まりますが、表示にはそれぞれの残り回数に切り替わります。)
なので、残り回数は全てのオブジェクト共通のものにしたいと考えています。
ちなみに、自身ではコライダー付の空のオブジェクトを作成して、スクリプトを追加した状態で、
そこに全ての3Dオブジェクトを子にして、試しましたがうまくいきませんでした。
長文な上、伝わりにくい文章で大変申し訳ないのですがどなたか
ご回答いただけると幸いです。よろしくお願い致します。
何か説明不足に感じられる部分があれば遠慮なく申し付けください。
(バージョンは 2019.2.12f1 です。)
using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class Count : MonoBehaviour, IPointerClickHandler // クリックを取得するためのインターフェースを実装 { [SerializeField] Text countText; // Textをアタッチ int count; void Start() { countText.text = "10"; // テキスト初期化 count = 10; } // このスクリプトがアタッチされたオブジェクトがクリックされたときの処理 public void OnPointerClick(PointerEventData eventData) { count--; // 回数を減少 countText.text = count + ""; // テキストを更新 } void Update() { if (count == 0) { FadeManager.Instance.LoadScene("3.AddText", 2.0f); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/29 08:30