实现
以鼠标点击点作为起点创建UILineRenderer 并记录起点。
GameObject go = new GameObject();
go.transform.parent = transPaint;
go.transform.localPosition = Vector3.zero;
line = go.AddComponent<UILineRenderer>();
line.LineWidth = widthLine;
line.color = colorLine;
line.AddVector2Point(mousePosition);
实时记录鼠标位置,与UILineRenderer 的上一个绘制点差值大于最小偏差时记录绘制点。
Vector2 lastPosition = line.points[line.points.Count - 1].Position;
if (Mathf.Abs(Vector2.Distance(mousePosition, lastPosition)) > offset)
{
line.AddVector2Point(mousePosition);
}
更新UILineRenderer。
line.LineUpdateGeometry();
*如有清除需求,可在创建时将UILineRenderer 添加进List,在需要时进行销毁清除。
//添加进List
listRenderer.Add(line);
//销毁
foreach (var renderer in listRenderer)
{
Destroy(renderer.gameObject);
}
listRenderer.Clear();