@kot123123
я кот

Как исправить ложные срабатывания unity(я надеюсь, что это так)?

Имеем код из данного видео 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;
	}
}

По идее линии после прикосновения к шарику(Игроку) должны падать вниз и удалять. Так-то оно работает, но иногда бывают линии которые после того как ты отпускаешь лкм начинают не дожидаясь прикосновения шарика падать. Шарик при этом слегка подпрыгивает, но так-же как и если бы нарисовали линию прям под ним. Заранее спасибо за помощь форумчане!
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы