AndEngine - предотвратить столкновение автомобиля, предвидеть столкновение

  • Я создаю автомобильную игру, в которой игрок будет управлять автомобилем, избегая столкновения, бот-автомобиль не должен сталкиваться друг с другом.
  • У меня есть обработчик обновлений для каждой машины, которая управляет автомобилем с разной скоростью, но я не могу придумать код, который мог бы предсказать будущее столкновение с другим автомобилем-ботом без фактического столкновения.
  • что мой код должен делать, так это проверять столкновение с автомобилем перед текущим автомобилем, чтобы он мог изменить полосу движения, чтобы предотвратить столкновение
    любые идеи, которые я новичок в andengine

person Alex Asirvatham    schedule 27.05.2012    source источник


Ответы (3)


Вы можете использовать корпус датчика, движущийся перед реальным автомобилем, и проверять его столкновения, тогда, когда произойдет столкновение с корпусом датчика, автомобиль предотвратит столкновение. Конечно, после этого вам придется сбросить датчик, и я уверен, что должно быть более элегантное решение. Поэтому я отмечу, что этот вопрос будет перенесен в ветку разработки игр Stack Exchange, там люди более опытны в подобных проблемах.

person JohnEye    schedule 27.05.2012
comment
спасибо, но трудно найти какой-либо конкретный учебник по моей проблеме - person Alex Asirvatham; 28.05.2012

Это проблема ИИ, на самом деле вам не нужно предсказывать столкновения. Вам просто нужен набор правил, которым следуют автомобили, чтобы избежать столкновений. Постарайтесь выяснить, как именно вы избегаете столкновений на дорогах. Затем примените эти правила к своему автомобилю. Хотя это легче сказать, чем сделать.

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

Не пытайтесь предсказать, произойдут ли столкновения. Это сложно, и еще труднее понять правильную реакцию.

person Hannesh    schedule 27.05.2012

Самый простой способ — использовать raycast (или несколько raycastов), чтобы определить, есть ли что-то в пределах заданного диапазона от автомобиля в определенном направлении.

person iforce2d    schedule 28.05.2012
comment
Спасибо, но я новичок в этом ray casts, любой учебник или код будут полезны. - person Alex Asirvatham; 30.05.2012