プレーヤーの向いている方向によって、テキスト表示を変えられるように、スクリプトを作成してみましょう。
今回の例では、60°~120°に向いているときは「correct」、それ以外の角度では「wrong」と表示させます。
向きによって警告表示を出すなど、いろいろな場面で使える仕組みです。
関連記事:
テキストを回転させて表示
テキストを右から左へ流す
Textを透明から徐々に出現(フェードイン)
テキストサイズをゆっくり拡大
テキストを点滅させる
向きを変えて移動する十字キー操作
3DのTextMeshProをスクリプトで操作
テキストの用意
まずはTextMeshProをインポートしましょう。
ヒエラルキー > UI > TextMeshProを選択します。
TMP Importの画面が出ますので、Import TMP Essentialsをクリックしましょう。
Assets内に、TextMeshProのフォルダが確認できます。
Text(TMP)のサイズや色、配置を変更しました。
テキスト入力欄は消しておきます。
CanvasのUIスケールモードを「画像サイズに拡大」にすると、画面サイズに応じてテキストの大きさが自動調整されます。
localEulerAnglesで回転角を取得
Cubeを作成します。
CubeRotate.csを作成し、Cubeに追加します。
CubeRotate.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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class CubeRotate : MonoBehaviour { float angle; public TextMeshProUGUI singText; void Update() { angle = transform.localEulerAngles.y; if(angle>60 && 120>angle ) { singText.text = "correct"; } else { singText.text = "wrong"; } if(Input.GetKey("right")) { transform.Rotate(0,2,0); } if(Input.GetKey("left")) { transform.Rotate(0,-2,0); } } } |
SingTextのフィールドに、Textを入れます。
ゲームプレイして、左右キーで回転させましょう。
60°~120°に向いているときは「correct」、それ以外の角度では「wrong」とテキストが変わります。
関連記事:
テキストを回転させて表示
テキストを右から左へ流す
Textを透明から徐々に出現(フェードイン)
テキストサイズをゆっくり拡大
テキストを点滅させる
向きを変えて移動する十字キー操作
3DのTextMeshProをスクリプトで操作