UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也是这样。
一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarget的,一个个取消太过繁琐。
所以可以重写Create->UI->Image的事件:
[MenuItem("GameObject/UI/Image")]
static void CreatImage()
{
if(Selection.activeTransform)
{
if(Selection.activeTransform.GetComponentInParent<Canvas>())
{
GameObject obj = new GameObject("image",typeof(Image));
obj .GetComponent<Image>().raycastTarget = false;
obj .transform.SetParent(Selection.activeTransform);
}
}
}
这样创建出来的Image就不带RaycastTarget了。