Как остановить рисование линии на 1 секунду, а затем продолжить в единстве? - PullRequest
1 голос
/ 12 июля 2020

У меня есть фрагмент кода, который нарисовал aws линию за головой, и я хочу останавливать рисование после каждых 200 точек линии. Голова должна go дальше без линии в течение 1 секунды, а затем снова провести 200 точек линии за головой.

using System.Collections.Generic;
using System.Linq;
using UnityEngine;

[RequireComponent(typeof(LineRenderer))]


public class Tail : MonoBehaviour
{
    
    public float pointSpacing = .1f;
    public Transform snakehead;
    
    List<Vector2> points;
    LineRenderer line;
    
    void Start()
    {
        line = GetComponent<LineRenderer>();
        points = new List<Vector2>();
        SetPoint();
    }

    void Update()
    
    {
        if (Vector3.Distance(points.Last(), snakehead.position) > pointSpacing)
        SetPoint();
    }
    
    void SetPoint() {
        
        points.Add (snakehead.position);
        line.positionCount = points.Count;
        line.SetPosition(points.Count - 1, snakehead.position);
    }
}


1 Ответ

1 голос
/ 12 июля 2020

Для этого вы можете использовать TrailRenderer, представленный в Unity - https://docs.unity3d.com/ru/2019.4/Manual/class-TrailRenderer.html

...