2012年03月25日

[Unity] NGUIのScrollViewでどのアイテムが選択されたのかを取得する

NGUI のScrollView を使ってみました。

はじめに新規にプロジェクトを作成します。
この時点では、まだNGUIを購入済みだとしてもNGUIは使えません。

NGUIを購入済みの場合、AssetStoreからNGUIをダウンロードしてインポートするか、
ダウンロード済みのパッケージをインポートします。
今回は後者ということで、

C:\Users\[ユーザー名]\AppData\Roaming\Unity\Asset Store\Tasharen Entertainment\ScriptingGUI
にある
NGUI Next-Gen UI.unitypackage

からインポートしました。
※NGUIはアップデートが頻繁に行われているので、AssetStoreでNGUIのページに行って最新を
 ダウンロードしておくことをオススメします(手持ちが最新ではない場合「Update」というボタンが表示されます)

----------------- 2012.3.26追記 -----------------

NGUIをダウンロード済みだったら、プロジェクトを新規作成するときに選択肢が追加されてました↓

20120326nguisplash001.png

----------------- 2012.3.26追記(ここまで) -----------------

NGUIインポート後の画面↓

20120325nguiscrollview001.png

次に、ScrollViewのサンプルを開きます。

[プロジェクトの場所]\Assets\NGUI\Examples\Scenes
にある
Example 2 - Scroll View.unity
です。

プレビューすると、ゲーム画面にScrollViewが表示されます↓

20120325nguiscrollview002.png

これでマウスを使ってアイテムをスクロールするUIが用意できました。

ここからが問題。
どのアイテムを選択したのかを取得する必要があります。

色々な方法があると思いますが、
たどり着いたのは「ゲームオブジェクトの名前で区別する」ことでした。

まずは、たくさんあるアイテムを1つだけにします↓

20120325nguiscrollview003.png

次に、以下のスクリプト(Selected.js)を作成して「item 0」に適用します。
---------------------------------------
#pragma strict
function OnSelect(input : boolean){
if (input) {
Debug.Log("Selected --> " + gameObject.name);
}
}
---------------------------------------
Selected.jsを適用した後↓

20120325nguiscrollview004.png

Hierarchyウィンドウで「Item 0」を Ctrl + [D] で複製して、「Item 1」「Item 2」と名前を変えます。
そしてプレビューします↓

20120325nguiscrollview005.png

すると、選択(クリック)したアイテムの名前がステータスバーに表示されていることがわかります。
これでどのアイテムが選択されたのかを取得することができました。

何とか次に進めそうです、よかったよかった。
posted by be-style at 01:21| Comment(0) | Unity
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]