点数によって評価ランク(判定)が出てくるように、スクリプトを作成しましょう。
この例では、Cubeをクリックするとポイントが加算されます。
獲得した点数に応じて、3以上はCランク、7以上はBランク、10以上はAランクと表示される仕組みです。
関連記事:
タイマーによる数値で評価ランク
ハイスコアをつくる
ベストタイムを表示する
タイムアップでテキストを表示
Prefabに触れると得点が入る
敵に当たるとスコアを加点-2Dシューティング
スコアによってABCの判定を表示
TextMeshProを用いて、テキストオブジェクトを2つ作成します。
名前をそれぞれ、CountText、RankTextに変更しました。
サイズや色を調整し、このように配置しました。
Cubeを作成します。
ClickObject.csを作成し、Cubeに追加します。
ClickObject.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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class ClickObject : MonoBehaviour { private int count; [SerializeField] TextMeshProUGUI countText; [SerializeField] TextMeshProUGUI rankText; void Start() { count = 0; rankText.text = ""; } void OnMouseDown() { count++; } void Update() { countText.text = count.ToString(); if(count >= 3) { rankText.text = "Rank:C"; } if(count >= 7) { rankText.text = "Rank:B"; } if(count >= 10) { rankText.text = "Rank:A"; } } } |
4行目、using TMPro;を忘れずに書いておきましょう。
テキストオブジェクトを、それぞれのフィールドに入れます。
ゲームプレイして、動きを確認しましょう。
Cubeをクリックするとスコアが加算。
3以上はCランク、7以上はBランク、10以上はAランクと表示されます。
関連記事:
タイマーによる数値で評価ランク
ハイスコアをつくる
ベストタイムを表示する
タイムアップでテキストを表示
Prefabに触れると得点が入る
敵に当たるとスコアを加点-2Dシューティング