Задать вопрос
@Anonymous_toaster

Игра js canvas столкновения. Как остановить движение игрока?

Есть проверка столкновений персонажа и ящика.
if ((agent.x + agentImg.width >= obj.x) && (agent.x <= obj.x + wallImg.width) && (agent.y + agentImg.height >= obj.y) && (agent.y <= obj.y + wallImg.height))

//agent - персонаж, obj и wallImg это ящик
Сама проверка работает, вот только, что нужно делать чтобы персонаж не проходил, итак, вот то что пробовал
1. return. Работает, но движение останавливается так, что персонаж не может двигаться
2. Откидывать персонажа. Работает, но только с той стороны, куда откидывает, если подойти с другой, видна анимация откидывания
3. Откидывание + return. то же самое, что и 2
4.Сделать переменные, равные позиции игрока по x y - скорость игрока. А при столкновении назначать его x и y этими переменными. Работает только с левой стороны, сверху и низу немного странно, а с правой он едет по ящику как по эскалатору на левую сторону.

Какие ещё есть варианты/ идеи как это сделать???
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
demon416nds
@demon416nds
Разработчик на чем попало
Код в студию
Там явно есть ошибки
Ответ написан
Комментировать
krdpsr
@krdpsr
loading...
используй готовую библиотеку
например matter.js хороша

нет смысла самому писать всю физику
кроме случая когда ты в этом крут
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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