UGUI自动判断UI层次


问题描述:

       在开发中,经常会遇到需要判断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);
}


}
}

发布了10 篇原创文章 · 获赞 96 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章