unity3d的ngui怎么自动加载perfable

unity3d的ngui怎么自动加载perfable,第1张

ngui只是一个UI库而已,和加载prefab没有任何关系。 加载prefab: GameObject prefab = Resources.Load("xxxx.prefab")GameObject object= Instantiate(prefab)

function addLabel(txt:String){

var parent:GameObject = GameObject.Find("Panel")

var child:GameObject = Instantiate(labelPrefab)

Debug.Log(txt)

child.transform.parent = parent.transform //设置物体

child.transform.localPosition = new Vector3(275, -22, 0) //设置position、scale和rotation //localposition 才是在inspector上看到的x,y,z

child.transform.localScale = new Vector3(1, 1, 1)

//设置label的text

child.GetComponentInChildren(UILabel).text = txt

}

以下是转载:

NGUI动态添加widget

对于做U3D的来说,NGUI已然是很熟悉了,对于NGUI控件(像Label)的创建当然不必多说了,现在就来了解一下如何在程序中动态创建Label等控件。在这里我用的是用预制物体(Prefab)来实现的,首先建立一个UI,再创建一个Label并把它做成预制;再就是Instantiate了,主要看代码:

[csharp] view plaincopy

//label 的父物体

GameObject parent = GameObject.Find("Cube")

GameObject child = (GameObject)Instantiate(Resources.Load("myLabel"))

child.transform.parent = parent.transform //设置父物体

child.transform.localPosition = new Vector3(0, 0, 0) //设置position、scale和rotation

child.transform.localScale = new Vector3(1, 1, 1)

child.transform.localRotation = Quaternion.Euler(90, 0, 0)

//设置label的text

gameObject.GetComponentInChildren().text = "gsgsgsgg"

当你场景中有大量相似的物体,如游戏中的小怪时就可以用prefab来对这些物体进行统一管理,这样当你需要修改物体属性时,只要修改一个物体,然后apply给prefab其他的物体也就一起改好了。还有当你需要用代码动态创建物体时也是用prefab的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11542657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存