有沒有辦法檢查Rect變換是否包含點?提前致謝。我試圖Bounds.Contains()和RectTransformUtility.RectangleContainsScreenPoint(),但沒有幫助我Unity Recttransform包含點
private bool AreCoordsWithinUiObject(Vector2 coords, GameObject gameObj)
{
Bounds bounds = gameObj.GetComponent<Renderer>().bounds;
return bounds.Contains(new Vector3(coords.x, coords.y, 0));
}
這樣,我有一個錯誤「沒有附着在物體渲染」,但我已經連接CanvasRenderer到它。
RectTransformUtility.RectangleContainsScreenPoint(gameObj.GetComponent<RectTransform>(), coords);
此方法總是返回false
if (AreCoordsWithinUiObject(point, lines[i]))
{
print("contains");
}
線是GameObjects
請包括您嘗試的代碼。你的問題只是一個功能。把代碼不起作用。 「Bounds.Contains」和「RectTransformUtility.RectangleContainsScreenPoint」都有人可能會發現你的問題。 – Programmer
我使用代碼 –
更新了帖子也許是因爲您試圖獲得「渲染器」而不是「CanvasRenderer」? –