1、生成UI预制体
在一个项目中会有很多生成预制体的情况,就可以写一个专门生成预制体的脚本,然后把预制体存在Resources资源文件夹中,只用传参数,参数为要生成的预制体的路径就可以了。
下面是生成UI预制体,需要转换一下位置,把Transform转换成RectTransform。
注意创建的类和函数都要是static静态的。
具体代码如下:
public static GameObject UILoad(string path){
Object prefab = Resources.Load(path);
GameObject page=Object.Instantiate(prefab) as GameObject;
page.transform.SetParent(GameObject.Find("/Canvas").transform);
page.transform.localPosition=Vector3.zero;
page.transform.localRotation=Quaternion.identity;
page.transform.localScale = Vector3.one;
RectTransform rt=page.transform as RectTransform;
rt.offsetMin=Vector2.one;
rt.offsetMax=Vector2.zero;
page.name = prefab.name;
return page;
}
2、生成预制体
如果不用生成UI预制体直接传入路径,不用把Transform转换成RectTransform,生成就行。
public static GameObject Load(string path)
{
Object prefab = Resources.Load(path);
GameObject page=Object.Instantiate(prefab) as GameObject;
return page;
}