Ограничить длину LineRenderer
Добавлено: 07 дек 2018, 19:11
Нужно помощь умственно отсталым, как ограничить максимальную длину линий, которые можно нарисовать скриптом ?
Синтаксис:
Используется csharp
using UnityEngine;
public class LineDraw : MonoBehaviour {
public float dist;
[SerializeField]
GameObject linePref;
GameObject line;
LineRenderer lineRender;
EdgeCollider2D edgeCollider;
Vector2[] positions = new Vector2[2];
void Update () {
if(Input.GetMouseButtonDown(0))
{
CreateFirstLinePoint();
}
if (Input.GetMouseButton(0))
{
CreateSecondLinePoint();
}
}
void CreateSecondLinePoint()
{
positions[1] = Camera.main.ScreenToWorldPoint(Input.mousePosition);
lineRender.SetPosition(1, positions[1]);
edgeCollider.points = positions;
}
void CreateFirstLinePoint()
{
if (line)
{
DestroyLine();
}
positions[0] = (Camera.main.ScreenToWorldPoint(Input.mousePosition));
line = Instantiate(linePref, Vector2.zero, Quaternion.identity);
lineRender = line.GetComponent<LineRenderer>();
edgeCollider = line.GetComponent<EdgeCollider2D>();
lineRender.SetPosition(0, positions[0]);
}
void DestroyLine()
{
positions[0] = Vector2.zero;
positions[1] = Vector2.zero;
Destroy(line);
}
}
public class LineDraw : MonoBehaviour {
public float dist;
[SerializeField]
GameObject linePref;
GameObject line;
LineRenderer lineRender;
EdgeCollider2D edgeCollider;
Vector2[] positions = new Vector2[2];
void Update () {
if(Input.GetMouseButtonDown(0))
{
CreateFirstLinePoint();
}
if (Input.GetMouseButton(0))
{
CreateSecondLinePoint();
}
}
void CreateSecondLinePoint()
{
positions[1] = Camera.main.ScreenToWorldPoint(Input.mousePosition);
lineRender.SetPosition(1, positions[1]);
edgeCollider.points = positions;
}
void CreateFirstLinePoint()
{
if (line)
{
DestroyLine();
}
positions[0] = (Camera.main.ScreenToWorldPoint(Input.mousePosition));
line = Instantiate(linePref, Vector2.zero, Quaternion.identity);
lineRender = line.GetComponent<LineRenderer>();
edgeCollider = line.GetComponent<EdgeCollider2D>();
lineRender.SetPosition(0, positions[0]);
}
void DestroyLine()
{
positions[0] = Vector2.zero;
positions[1] = Vector2.zero;
Destroy(line);
}
}