根据鼠标位于屏幕的区域,设置弹窗锚点以及位置
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;
}