uGUIのButtonをカーソル選択する

タイトルわかりにくいけどuGUIのButton手のはマウスのクリックを受け付ける
onClickでメソッドを呼び出せたりして便利だ。
しかしゲームによってはカーソル移動(マウスのクリックを使わない)にしたい場合がある。
Buttonのカーソル移動の実装方法についていろいろ…….

uGUI…….?

Unity4.6において追加された新たなUI。有料のNGUIの弟分みたいな感じの公式UI。
Unity4.5までで使われたUIより高性能で使いやすく軽いという最強なやつ。

 カーソル移動

hogehogequestion

実装内容は至って簡単でButton.Select()で取得したオブジェクトを選択状態にすることができる。以下ソースコード

using UnityEngine;
using System.Collections;
using UnityEngine.UI; //uGUIを使うとき必ず必要

public class SelectStart : MonoBehaviour {
    Button start; //スタートボタン
    Button load;   //ロードボタン

    public bool LoadGames;//セーブデータの有無

	void Start () {

        //StartUIと言うキャンバスのSTARTという名前のボタンオブジェクトを取得
        start = GameObject.Find("StartUI/Start").GetComponent<Button>();

        //StartUIと言うキャンバスのLoadという名前のボタンオブジェクトを取得
        load = GameObject.Find("StartUI/Load").GetComponent<Button>();

        if (!LoadGames){  //セーブデータがなかったら

            start.Select();

        }else{      //それ以外(セーブデータがあるとき)

            load.Select();

           } 
  }
}

GetComponent<Button>().Select();

で自身のオブジェクトを選択状態にしたままスタートすることができる。Play

おまけ

Button以外で使いたいよって時
操作したいオブジェクトにSelecttableを追加すれば同様に扱えることが可能。

ちなみにuGUIのButtonはTextオブジェクトにSelecttableとEventtriggerを追加したものと同じという認識を持てば大体OK

参考サイト

ゲームは初心者にやさしく [驚き]NGUI作者がUnity退職。ゲーム開発への情熱はそのまま!

West Hill 開発メモ [Unity][uGUI] UIをゲームパッドやキーボードで操作する

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中