万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    UnityのアセットNGUIの「Popup List」の解説

    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」メソッドを使用。

    これらによって、ポップアップと色の連動が実現されている。