@Hixac

Почему tail list не реагирует на движение, но первый элемент в списке работает?

Ошибки у меня нет. Но когда "вырастает" первая часть хвоста, т.е. первый элемент предположительно, он работает нормально, но остальные нет.

public class TailAdder : MonoBehaviour
 {
     [SerializeField] private GameObject tailPrefab;
     private GameObject _tail;
     public int numerate;
     public int nomerrate;
     private float ourTimer;
     List<GameObject> _tails = new List<GameObject>();
     Move move = null;
     void Start()
     {
         move = GetComponent<Move>();
     }
 
     void Update()
     {
         ourTimer += Time.deltaTime;
         if (numerate == 1)
         {
             _tail = Instantiate(tailPrefab) as GameObject;
             _tail.name = "tail" + nomerrate;
             _tails.Add(_tail);
             nomerrate++;   
             numerate = 0;            
         }
         if (nomerrate >= 1)
         {
             for (int i = 0; i < nomerrate; i++)
             {
                 _tail = _tails[i];
                 if (ourTimer >= 0.25f)
                 {
                     _tail.transform.position = move.previouslyPos;
                     _tail.transform.rotation = move.rotationPoint;
                     ourTimer = 0f;
                 }
             }
         }
     }
 }
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@Hixac Автор вопроса
Решение как создать змейке хвост
При помощи Linq

if (tailsList.Count >= 1)
        {
            tailsList.Last().transform.position = lastPos;
            tailsList.Last().transform.rotation = lastRot;
            tailsList.Insert(0, tailsList.Last());
            tailsList.RemoveAt(tailsList.Count - 1);
        }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы