實現
記錄鼠標點擊位置為線段起點。
posStart = Input.mousePosition;
創建一個Image 作為線段。?
line = new GameObject("line");
rtLine = line.AddComponent<RectTransform>();
rtLine.pivot = new Vector2(0, 0.5f);
rtLine.localScale = Vector3.one;
imgLine = line.AddComponent<Image>();
imgLine.color = colorLine;
imgLine.raycastTarget = false;
rtLine.SetParent(canvas.transform);
rtLine.position = posStart;
rtLine.sizeDelta = Vector2.zero;
以鼠標當前位置為線段終點,在Update 中實時計算線段的角度和長度。
posEnd = Input.mousePosition;
posDuration = posEnd - posStart;
rtLine.sizeDelta = new Vector2(posDuration.magnitude, widthLine);
angle = Mathf.Atan2(posDuration.y, posDuration.x) * Mathf.Rad2Deg;
rtLine.localRotation = Quaternion.Euler(0, 0, angle);