using UnityEngine;
public class testAll : MonoBehaviour
{
private LineRenderer lineRenderer;
private bool isDrawing = false;
void Start()
{
CreateNewLine();
}
void Update()
{
if (Input.GetMouseButtonUp(0))
{
isDrawing = false;
CreateNewLine();
}
if (isDrawing && Input.GetMouseButton(0))
{
Vector3 mousePos = GetMouseWorldPosition();
lineRenderer.positionCount++;
lineRenderer.SetPosition(lineRenderer.positionCount - 1, mousePos);
}
if (Input.GetMouseButtonDown(0))
{
isDrawing = true;
}
}
void CreateNewLine()
{
GameObject lineObject = new GameObject("Line");
lineRenderer = lineObject.AddComponent<LineRenderer>();
// 设置LineRenderer的基本属性
lineRenderer.positionCount = 0;
lineRenderer.material = new Material(Shader.Find("Sprites/Default"));
lineRenderer.startColor = Color.red;
lineRenderer.endColor = Color.blue;
lineRenderer.startWidth = 0.1f;
lineRenderer.endWidth = 0.1f;
}
Vector3 GetMouseWorldPosition()
{
Vector3 mousePos = Input.mousePosition;
mousePos.z = -Camera.main.transform.position.z;
return Camera.main.ScreenToWorldPoint(mousePos);
}
}
Unity使用鼠标实现画线功能LineRenderer
于 2024-04-01 13:11:21 首次发布