Вражеская машина двигает логику в гоночных играх
Я разрабатываю гоночную игру в Анденжине. Я создал автомобиль, который игрок контролирует. Но из-за того, что он гоночный, должно быть 3 или 4 автомобиля, которые берутся вместе с автомобилем игрока. Мой вопрос: как движутся другие машины? по пути? Как их логика? Должен ли я знать определенный путь?
1 ответ
Это довольно широкий вопрос. Из Andengine я вижу, что это 2D игровой движок, поэтому я собираюсь предположить, что вы делаете клон Micro Machines.
Очень простой метод состоит в том, чтобы построить ломаную линию (список отрезков) вокруг желаемого маршрута вашей гоночной трассы. Затем сделайте следующее:
- Определите ближайшую точку к автомобилю на линии поли (например, отыскивая вершину линии поли, ближайшую к автомобилю, а затем найдите ближайшую точку на двух соединительных отрезках линии)
- Теперь следуйте за линией поли на фиксированную или переменную величину (переменная = в зависимости от скорости автомобиля). Это также простая математика, поскольку вы можете рассчитать общую длину отрезков и просто суммировать их, пока не узнаете, в каком отрезке линии находится ваша точка нацеливания.
- Затем заставьте машину двигаться в этом направлении. Если автомобиль сильно скользит, настройте поиск так, чтобы он выбирал точки вперед, чтобы машина стала старше.