Игра 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 этими переменными. Работает только с левой стороны, сверху и низу немного странно, а с правой он едет по ящику как по эскалатору на левую сторону.