NGUIのUIWidgetをInstantiateで動的生成

UnityのNGUIのUIWidgetを動的に生成してPanelの下に配置してみました.

  1. メニューのNGUI->Create a WidgetからUISpriteとかUITextureとかUILabelとか作る
  2. それをPrefabにする
  3. 空のGameObjectを作って下のようなスクリプトを追加する
  4. インスペクタからHoge Prefabに1.で作ったPrefabを設定,PanelにUIRoot(2D)/Camera/Anchor/Panelを設定
using UnityEngine;
using System.Collections;

public class HogeMaker : MonoBehaviour {

    public Transform hogePrefab;
    public Transform panel;

    void Start() {
        var hoge = ((Transform) Instantiate(hogePrefab)).gameObject;
        hoge.transform.parent = panel;
        hoge.transform.localScale = (てきとう);
        hoge.transform.localPosition = (てきとう);
    }
}