根据鼠标位于屏幕的区域,设置弹窗锚点以及位置
public static void TipsPos ( Transform tf)
{ var uiCamera = GetUICamera ( ) ; var popup = tf. GetComponent < RectTransform> ( ) ; Vector2 mousePos = Input. mousePosition; float screenWidth = Screen. width; float screenHeight = Screen. height; if ( mousePos. x < screenWidth / 2 && mousePos. y > screenHeight / 2 ) { popup. anchorMin = new Vector2 ( 0 , 1 ) ; popup. anchorMax = new Vector2 ( 0 , 1 ) ; popup. pivot = new Vector2 ( 0 , 1 ) ; } else if ( mousePos. x > screenWidth / 2 && mousePos. y > screenHeight / 2 ) { popup. anchorMin = new Vector2 ( 1 , 1 ) ; popup. anchorMax = new Vector2 ( 1 , 1 ) ; popup. pivot = new Vector2 ( 1 , 1 ) ; } else if ( mousePos. x < screenWidth / 2 && mousePos. y < screenHeight / 2 ) { popup. anchorMin = new Vector2 ( 0 , 0 ) ; popup. anchorMax = new Vector2 ( 0 , 0 ) ; popup. pivot = new Vector2 ( 0 , 0 ) ; } else if ( mousePos. x > screenWidth / 2 && mousePos. y < screenHeight / 2 ) { popup. anchorMin = new Vector2 ( 1 , 0 ) ; popup. anchorMax = new Vector2 ( 1 , 0 ) ; popup. pivot = new Vector2 ( 1 , 0 ) ; } Vector2 localPoint; RectTransformUtility. ScreenPointToLocalPointInRectangle ( popup. GetComponent < RectTransform> ( ) , mousePos, uiCamera, out localPoint) ; popup. anchoredPosition = localPoint;
}