В настоящее время я разрабатываю своего рода 2D-игру с определенной точки зрения (камера) и делаю ее похожей на 3D-игру.
Перспектива никогда не меняется (поворачивается).
Что угодно.Я достиг точки кодирования хитбоксов, и игрок уже может распознавать столкновения с другими объектами (сущностями).
Теперь я хочу не дать игроку столкнуться с другими сущностями (хитбоксами).Моя идея состояла в том, чтобы выполнить обнаружение коллизий, как описано ниже, а затем рассчитать пересечение, чтобы я знал, на какой стороне хитбокса сталкиваются игрок и сущность.Наконец, я установил скорость проигрывателя x или y на 0, в зависимости от того, где происходит перекрытие.
Я действительно не знаю, как обнаружить перекрывающиеся оси / оси, все, что я нашел до сих порявляется то, что есть разделение.
Разделение:
function getColission(a, b) {
return (a.x <= b.x+b.sizeX && a.x+a.sizeX >= b.x) &&
(a.y <= b.y+b.sizeY && a.y+a.sizeY >= b.y) &&
(a.z <= b.z+b.sizeX && a.z+a.sizeZ >= b.z);
}