URL:http://www.tasharen.com/?page_id=197
↓公式サイトでは未だ準備中(2012/6/5現在)
・たどり方
「NGUI->Examples->Scenes」
そして、チュートリアルの11を選ぶ。
・実際のサンプル
↓「White」と書いてあるところがポップアップになってる
↓ポップアップを開くと、RedやGreeなどの一覧が出てきます
・ポップアップの一覧について
Hierarchy上で「Popup List」を選ぶと分かる。
Inspector上の「UI Popup List」に「Options」があるが、改行で選択肢を作成できる。
「Selection」の項目でデフォルトの選択を決められる。今回「White」になっているので「White」が選択されているのだ。
・色が変わるXマークについて
まずは、「SlicedSprite - Rectangle」に注目
Xの画像は、「SlicedSprite」によって作成されている。
さらに、Inspectorに注目すると、「SetColorOnSelection」なるものがアタッチされている。
この「SetColorOnSelection.cs」ファイルには「OnSelectionChange」メソッドが用意されていた。
引数に渡ってきたvalが取れる。
※中身↓
void OnSelectionChange (string val) { if (mWidget == null) mWidget = GetComponent<UIWidget>(); switch (val) { case "White": mWidget.color = Color.white; break; case "Red": mWidget.color = Color.red; break; case "Green": mWidget.color = Color.green; break; case "Blue": mWidget.color = Color.blue; break; case "Yellow": mWidget.color = Color.yellow; break; case "Cyan": mWidget.color = Color.cyan; break; case "Magenta": mWidget.color = Color.magenta; break; } } }
先ほどの「Popup List」オブジェクトに注目すると
「Event Receiver」と「Function Name」の欄がある。
Event Receiver・・・ポップアップを選択したときに呼び出されるオブジェクト
Function Name・・・呼び出されたオブジェクトが実際に実行する関数名
よって、Event Receiverには、先ほどの「SetColorOnSelection.cs」を指定。
メソッドは「SetColorOnSelection.cs」にある「OnSelectionChange」メソッドを使用。
これらによって、ポップアップと色の連動が実現されている。