@Paul_Morte

Как сделать движение персонажа по криволинейному полу в игре?

5ccdd11d47d8b565842105.png

Есть ли реальный способ сделать так чтобы персонаж мог перемещаться по полу по нарисованной кривой?
С линейным перемещением всё понятно, высчитываются каординаты div Блоков (прямоугольные формы).

В идеале я вижу себе так: рисуется черным по белому изображение, которое будет ограничивать движения (пол, стены) персонажа. На уровне кода проверяем - персонаж ниже пикселя #000 ? Да? Тогда останавливаем модельку.
5ccdd294ae3b0459469413.png
Как это сделать?
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 4
@nrgian
В идеале я вижу себе так: рисуется черным по белому изображение, которое будет ограничивать движения (пол, стены) персонажа

Разделять сущности.
Визуальное отображение это одно.
А свойства поверхности - это иное.

Это гибче.

А ваш вариант слишком вас потом ограничит.
Его можно только из жесточайшей экономии делать, что на нынешнем железе бессмысленно.
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
Если линию представить ввиде точек - то вам нужны массивы для всех линий [[х,y],...]
а потом на каждое движение проходиться по массиву сравнивая где персонаж и может ли он двигаться туда.
Ответ написан
Xuxicheta
@Xuxicheta
инженер
В игре не нужно никаких div-блоков, js игры делаются на webgl или canvas.
Посмотрите phaser.io
Ответ написан
profesor08
@profesor08 Куратор тега JavaScript
Вот у тебя есть картинка с кривой, ты можешь получить данные о любом пикселе в любое время, проверить его цвет и прозрачность. Так вот у тебя есть x,y. x += 1, и проверяй все пиксели по y сверху вниз. Как только пиксель стал непрозрачным, то это и есть нужная координата y для персонажа. Все.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы