Имеем код из данного видео
https://www.youtube.com/watch?v=dmBQQ2XtuhU, ну как код... 2 скрипта для рисования линии. Один кидается на линию(в нем вся проблема), другой кидается на пустой объект для отслеживания нажатий.
Я слегка модифицировал код из файла Line.cs
using System.Linq;
using System.Collections.Generic;
using UnityEngine;
public class Line : MonoBehaviour
{
public LineRenderer lineRenderer;
public EdgeCollider2D edgeCol;
List<Vector2> points;
private int TimeToDestroy = 5;
public int droppedSpeed;
private bool drop = false;
private void Start()
{
Destroy(gameObject,TimeToDestroy);
}
private void FixedUpdate()
{
if(drop)
dropLine();
}
public void dropLine()
{
transform.position -= new Vector3(0, 6 * Time.deltaTime, 0);
if (transform.position.y<-6f)
{
Destroy(gameObject);
}
}
public void UpdateLine(Vector2 mousePos)
{
if (points == null)
{
points = new List<Vector2>();
SetPoint(mousePos);
return;
}
if (Vector2.Distance(points.Last(), mousePos) > .1f)
SetPoint(mousePos);
}
void SetPoint(Vector2 point)
{
points.Add(point);
lineRenderer.positionCount = points.Count;
lineRenderer.SetPosition(points.Count - 1, point);
if (points.Count > 1)
edgeCol.points = points.ToArray();
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.tag == "Player")
drop = true;
}
}
По идее линии после прикосновения к шарику(Игроку) должны падать вниз и удалять. Так-то оно работает, но иногда бывают линии которые после того как ты отпускаешь лкм начинают не дожидаясь прикосновения шарика падать. Шарик при этом слегка подпрыгивает, но так-же как и если бы нарисовали линию прям под ним. Заранее спасибо за помощь форумчане!