问题描述:
在开发中,经常会遇到需要判断UI层次的问题,比如imagetop 在 imageCenter上层 ,imageCenter 在 imageBottom上层,注意这里的层次关系指的是实际的UI显示层次
与UI在Hierachy中的层级无关,此时就要判断出这种层次关系来;
解决思路:
public RectTransform rect;
public Canvas ca;
public Vector2 v2;
void OnGUI(){
if(GUILayout.Button("dddfffff"))
{
v2= RectTransformUtility.WorldToScreenPoint (ca.worldCamera, rect.position);
PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = v2;
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
for (int i = 0; i < results.Count; i++) {
Debug.Log (results[i].gameObject.name);
}
}
}