因项目需求是显示内容UI的背景和标题基本一致,所以想弄一个右键自动生成一个包含背景和标题的UIBG。
首先确定是以右键canvas的方式生成
[MenuItem("GameObject/UI/Custom/Standard1x1UI", false, 8)]
public static void CreateStandard()
{
if (Selection.activeTransform)
{
GameObject go = Standard1x1();
go.transform.SetParent(Selection.activeTransform);
go.GetComponent<RectTransform>().anchoredPosition3D = Vector3.zero;
}
}
然后具体实现生成方法
//生成一个大小为372,297大小的背景图片
static GameObject Standard1x1()
{
GameObject go = CreateUIObj(372,297);
CreateImage(go.transform);
CreateTextObj(go.transform);
return go;
}
static GameObject CreateUIObj(float x,float y,string name="UIStandard")
{
GameObject go = new GameObject(name, typeof(Image));
go.GetComponent<Image>().raycastTarget = false;
go.GetComponent<