Движение змеи - следуйте за каждой частью тела к голове - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь воссоздать игру Snake VS Block на Unity, в настоящее время я сохраняю положение головы змеи (добавляя ее в список) при каждом обновлении, максимальная длина списка (сохраненные позиции) равна частям тела змеи.длина, я удаляю первый элемент, если размер списка больше размера змеи, и добавляю новый в конец списка.

Голова змеи движется по скорости (Y) и положению мыши (X), поэтому выможет контролировать движение змеиной головы по горизонтали, но вертикальное движение увеличивается время от времени.

, затем я делаю цикл по списку и перемещаю часть змеи со следующей логикой:

SnakeParts[i].transform.position = Positions[Positions.Count-i];

Почти все работает правильноно есть одна проблема, я не могу сохранить фиксированное расстояние между частями тела, расстояние всегда зависит от змеиной головы speed, потому что элементы списка Positions добавляются в каждом кадре (таким образом, расстояние между ними является дельта-скоростью),

Я ищу лучший подход или улучшение моего плана, пожалуйста, имейте в виду, что я хочу части теласледовать точному пути головы змеи

Спасибо за чтение.

...