ゲーム開始時の、「3、2、1、GO!」な表示を作る。
ボタンを押すとカウントダウンが開始される。カウントダウン開始後に再びボタンが押されないよう、操作をマスクするImage(赤ベタ半透明)を表示する。カウントダウンが終わったらマスクImageを非表示にし、再びボタンを押せるようにする。
構成
カウントダウンを開始するボタン(Button)
操作をマスクするImage(Image Mask)
カウントダウンの内容を表示するテキスト(Text Countdown)
スクリプト
ボタンが押されたら(OnClickButtonStart())コルーチンを開始する。
コルーチンでは、
– マスクするImageとカウントダウンの内容を表示するテキストを表示する
– 1秒毎にカウントダウンの内容を表示するテキストを書き変える
– カウントダウンが終わったら、マスクイメージとカウントダウンのテキストを非表示にする
を行う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
using UnityEngine; using UnityEngine.UI; using System.Collections; public class Countdown : MonoBehaviour { [SerializeField] private Text _textCountdown; [SerializeField] private Image _imageMask; void Start() { _textCountdown.text = ""; } public void OnClickButtonStart() { StartCoroutine(CountdownCoroutine()); } IEnumerator CountdownCoroutine() { _imageMask.gameObject.SetActive(true); _textCountdown.gameObject.SetActive(true); _textCountdown.text = "3"; yield return new WaitForSeconds(1.0f); _textCountdown.text = "2"; yield return new WaitForSeconds(1.0f); _textCountdown.text = "1"; yield return new WaitForSeconds(1.0f); _textCountdown.text = "GO!"; yield return new WaitForSeconds(1.0f); _textCountdown.text = ""; _textCountdown.gameObject.SetActive(false); _imageMask.gameObject.SetActive(false); } } |
– – – – – – – – – –
Unity4.6.4p4
コメントを残す
コメントを投稿するにはログインしてください。