unity 如何给Image如何获取在Canvas上的全局坐标
时间: 2024-02-19 22:58:52 浏览: 60
可以通过RectTransform组件的`TransformPoint`方法来将Image组件的本地坐标转换为在Canvas上的全局坐标。具体的代码示例如下:
```csharp
// 获取Image组件的RectTransform
RectTransform imageTransform = GetComponent<RectTransform>();
// 获取Canvas组件的RectTransform
RectTransform canvasTransform = GetComponentInParent<Canvas>().GetComponent<RectTransform>();
// 将Image组件的本地坐标转换为在Canvas上的全局坐标
Vector3 globalPosition = canvasTransform.TransformPoint(imageTransform.localPosition);
```
上面这段代码中,我们首先获取了Image组件和Canvas组件的RectTransform。然后,使用`TransformPoint`方法将Image组件的本地坐标转换为在Canvas上的全局坐标。最后,将转换后的全局坐标赋值给一个变量即可。这样,就可以获取到Image在Canvas上的全局坐标了。
阅读全文