2013-07-17 1 views
0

Я сделал 2D-игру для проекта с использованием libgdx, и мой метод обнаружения столкновений основан на методе .overlaps в Rectangle, и он отлично работает. Я хочу понять реализацию, если бы я должен был ее параллелировать с методом пересечений, я знаю, как это работает. Но только это? я читаю, что в методах обнаружения дискретных столкновений необходимо не только вычислять, сталкиваются ли сущности, но «сколько» (глубина столкновения) они столкнулись, и используется алгоритм Alice Bounding Box Axis для того, чтобы оттолкнуть объекты обратно , Прежде всего, я запутался, если прямоугольник перекрывает tecnhique так же, как и AAAB в libgdx, а во-вторых, детали реализации метода перекрытий в классе Rectangle в инкапсуляции libgdx такие же, как метод пересечений в классе Rectangle в java или имеет а также с алгоритмом AAAB? Спасибо, и я надеюсь, что вы можете уточнить это для меня.Обнаружение столкновений в libGDX, перекрытие прямоугольника и AABB

ответ

2

Я буду держать его коротким, так как вы можете проверить исходный код для всех реализаций столкновения libGDX. Таким образом, независимо от того, что вы используете из libGDX, вы не сможете работать отлично, если ваши объекты слишком быстро перемещаются для регистрации обратного вызова. Для столкновения используйте box2d.

Если вы не хотите использовать box2d, другой подход может реализовать что-то вроде this.

Обновление: This объясняет очень хорошо.

+0

Я прочитал эти статьи :), в любом случае спасибо за ваш ответ – notArefill

+0

Хотел бы я помочь вам больше, но без библиотеки физики, такой как box2d, очень больно иметь идеальное обнаружение столкновения. –

+0

@SajalDutta Спасибо за объяснение, что я искал этот ответ и ваш комментарий, объясняя о столкновениях – Diljeet