LoginSignup
2
1

More than 5 years have passed since last update.

【Unity】簡単かもしれないTextだけで選択メニュー

Posted at

はじめに

Textだけで選択メニュー的なのを作ってみました。デザインをこったりすることはできませんが、簡単なUI作るのになら使えそうです。

コード

Sentaku_Text.cs
    public int SentakuID = 0;
    int cnt = 0;

    Text _text;

    void Start(){
        _text = GetComponent<Text>();
    }

    void Update(){
        float YAxis = Input.GetAxisRaw("Vertical");

        //長押しで連続入力
        if (YAxis != 0) {
            cnt++;
            if (cnt == 1) SentakuID -= (int)YAxis;
            else if (cnt >= 20) SentakuID -= (int)YAxis;
        } else if (YAxis == 0) cnt = 0;

        //一番端にいったら反転
        if (SentakuID > 2) SentakuID = 0;
        if (SentakuID < 0) SentakuID = 2;

        Sentaku();
    }

    void Sentaku() {
        switch (SentakuID) {
            case 0:
                _text.text = ">0だよ<" + "\n" + "1だよ" + "\n" + "2だよ";
                break;

            case 1:
                _text.text = "0だよ" + "\n" + ">1だよ<" + "\n" + "2だよ";
                break;

            case 2:
                _text.text = "0だよ" + "\n" + "1だよ" + "\n" + ">2だよ<";
                break;

            default:
                break;
        }
    }

条件分岐の処理で該当する部分を"><"で挟むことで、選ばれてる感を出してます。
ちょっと説明しづらいので動作の様子は以下の通りです。
Sentaku_Text.gif

今回は処理で書いてないですが、非表示にしたいときは空文字をいれれば大丈夫です。

終わり

問題は選択肢が増えてきたときに、文字の入力がかなり面倒なことになりそうなところです。
でもちょろっと使う分には結構楽だと思います。選択肢が多いときは別の方法でやったがいい気がします。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1