private Canvas canvas;
private Image pickedItem;
private void Start()
{
canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
pickedItem = GameObject.Find("PickedItem").GetComponent<Image>();
}
private void Update()
{
Vector2 vector2POS;
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, Input.mousePosition, null, out vector2POS);
pickedItem.transform.localPosition = vector2POS;
}
private Image pickedItem;
private void Start()
{
canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
pickedItem = GameObject.Find("PickedItem").GetComponent<Image>();
}
private void Update()
{
Vector2 vector2POS;
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, Input.mousePosition, null, out vector2POS);
pickedItem.transform.localPosition = vector2POS;
}
RectTransformUtility.ScreenPointToLocalPointInRectangle
public static bool
ScreenPointToLocalPointInRectangle
(
RectTransform
rect
,
Vector2
screenPoint
,
Camera
cam
,out
Vector2
localPoint
);
参数
矩形 | RectTransform找到里面的一个点。 |
凸轮 | 相机与屏幕空间位置相关联。 |
screenPoint | 屏幕空间位置。 |
localPoint | 指向矩形变换的局部空间。 |
返回
bool 如果RectTransform的平面被击中,则返回true,而不管该点是否在矩形内。
描述
将屏幕空间点转换为位于矩形平面上的RectTransform的局部空间中的位置。
凸轮参数应该是与屏幕点相关的相机。对于Canvas中的RectTransform设置为“屏幕空间 - 叠加”模式,cam参数应该为空。
当从提供PointerEventData对象的事件处理程序中使用ScreenPointToLocalPointInRectangle时,可以通过使用PointerEventData.enterEventData(用于悬停功能)或PointerEventData.pressEventCamera(用于单击功能)来获取正确的相机。这将自动使用正确的摄像头(或null)作为给定的事件。