サイコロの目を、クリックで止めて、その数を取得できるようにしましょう。
ランダムで切り替わるサイコロを、左クリックで停止。
もう一度クリックすると、また動き出します。
1~6の変数が、サイコロの目と一致していることがわかります。
サイコロを用いるゲームで、すぐに使えそうな機能ですね。
関連記事:
クリックのたびにランダム数字を止める
サイコロを振る(前編)
サイコロを振る(後編)
クリックのたびに回転を開始・停止
今回使用したサイコロの画像データは、こちらからダウンロードできます。
サイコロ画像データ
https://homework.futabazemi.work/dice_image.zip
プロジェクトビューに、サイコロのpngファイルをインポートします。
画像の中のひとつ、dice01を、ヒエラルキービューに配置します。
ゲームビューではこのように見えています。
DiceScript.csを作成し、dice01に追加します。
DiceScript.csを記述します。
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class DiceScript : MonoBehaviour { public int count; [SerializeField] Sprite[] diceArray; private SpriteRenderer diceSprite; private bool isStop; void Start() { count = Random.Range(1,7); isStop = false; diceSprite = GetComponent<SpriteRenderer>(); } void Update() { if (Input.GetMouseButtonDown (0) && !isStop) { isStop = true; } else if (Input.GetMouseButtonDown (0) && isStop) { isStop = false; } if (!isStop) { count = Random.Range(1,7); if(count == 1) { diceSprite.sprite = diceArray[0]; } if(count == 2) { diceSprite.sprite = diceArray[1]; } if(count == 3) { diceSprite.sprite = diceArray[2]; } if(count == 4) { diceSprite.sprite = diceArray[3]; } if(count == 5) { diceSprite.sprite = diceArray[4]; } if(count == 6) { diceSprite.sprite = diceArray[5]; } } } } |
DiceArrayのサイズに6を入力。
要素0~5の中へ、サイコロ画像データを順番に入れていきます。
ゲームプレイしましょう。
サイコロの目が変わり続け、画面をクリックすれば、動きが止まります。
count変数に応じて、サイコロのスプライトが切り替わるように、スクリプトを作成しました。
ストップしたときの数値と、サイコロの目の数が、一致しています。
関連記事:
クリックのたびにランダム数字を止める
サイコロを振る(前編)
サイコロを振る(後編)
クリックのたびに回転を開始・停止