@jenya_zhilin

Как сделать мертвые зоны на JS или CSS при перемещение div блока в div?

У меня есть игра, где необходимо перемещаться по локации, но есть зоны, например, дома, на которые залазить нельзя и нужно сделать так, чтобы персонаж (div объект) не мог залезть на дом, сделать это надо желательно на JS.
  • Вопрос задан
  • 331 просмотр
Пригласить эксперта
Ответы на вопрос 2
JackWilliams
@JackWilliams
То, что вам нужно называется коллизиями. Почитайте о них тут

Если у вас дом квадратный, то все очень просто. Просто отслеживайте координаты и не давайте игроку продвинуться дальше стен дома. Он должен 'ударяться' о них и останавливаться.

А вообще, для разработки игр в браузере давным давно есть всякие движки.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Это коллизии и коллайдеры.
Коллайдер - это объект коллизий. Т.е. это то виртуальное тело, которое взаимодействует с такими же подобными.
Коллайдер - может быть квадратным (только в простых играх с полем в виде прямоугольной сетки), круглым или овальным (чаще всего), контурным (редко, т.к. очень затратны расчёты).

Создайте коллайдеры для всех объектов и проверяйте их на столкновения.
Если есть столкновение - не давайте объекту двигаться в сторону вектора точки столкновения.
Ответ написан
Ваш ответ на вопрос

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

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