因爲項目需要,很多資源需要實例化,同時希望利用NGUI的一些功能,折騰了一下還是找到了解決辦法。
private GameObject creatItems(Vector3 pos,Texture2D texture)
{
//這個是利用NGUITools的功能,前一個參數是父物體,後一個是要實例化的對象。也可以使用unity自帶的實例化函數
GameObject obj = NGUITools.AddChild(this.gameObject, pref);
//這一句是指定父物體,我的在上一句直接指定會出問題、所以又做了一步
obj.transform.parent = GameObject.Find ("Scroll View").transform;
obj.transform.localPosition = pos;
obj.name = texture.name;
obj.GetComponent<UITexture> ().mainTexture =texture;
//這一句是調用NGUI的的事件響應,在我要實例化的腳本上已經添加了UIButton這個組件,當然你可以通過
//obj.AddComponent<>這個進行進行添加,之後調用下面的添加函數
//第一個是找到自身的onClick函數,第二個參數是點擊按鈕之後要響應的函數,我是通過查找這個方法來進行調用的
EventDelegate.Add(obj.GetComponent<UIButton>().onClick,GameObject.Find ("Scroll View").GetComponent<ChangeCloth>().test);
return obj;
}