Я пытаюсь воссоздать игру Snake VS Block на Unity, в настоящее время я сохраняю положение головы змеи (добавляя ее в список) при каждом обновлении, максимальная длина списка (сохраненные позиции) равна частям тела змеи.длина, я удаляю первый элемент, если размер списка больше размера змеи, и добавляю новый в конец списка.
Голова змеи движется по скорости (Y) и положению мыши (X), поэтому выможет контролировать движение змеиной головы по горизонтали, но вертикальное движение увеличивается время от времени.
, затем я делаю цикл по списку и перемещаю часть змеи со следующей логикой:
SnakeParts[i].transform.position = Positions[Positions.Count-i];
Почти все работает правильноно есть одна проблема, я не могу сохранить фиксированное расстояние между частями тела, расстояние всегда зависит от змеиной головы speed
, потому что элементы списка Positions
добавляются в каждом кадре (таким образом, расстояние между ними является дельта-скоростью),
Я ищу лучший подход или улучшение моего плана, пожалуйста, имейте в виду, что я хочу части теласледовать точному пути головы змеи
Спасибо за чтение.