Я пытаюсь создать игру с libgdx и ashley. У меня есть базовое понимание того и другого, и мне было интересно, как обрабатывать столкновение объектов.Libgdx Ashley Entity Collision
Я видел ContactListener в Box2D, но я не уверен, как связать это с сущностями в ashley.
Я просто хочу, чтобы сущности не проходили через другие объекты.
Фактически это не должно иметь значения, используете ли вы эшли (или любые другие ECS) или нет. Обнаружение столкновений следует разделить и просто зависит от типа (не каждый объект может сталкиваться со всеми другими, например, самолетом и подводной лодкой, поэтому вы можете «фильтровать» коллизии) + hitbox объектов. – Springrbua
Привет, спасибо за ваш ответ. У меня обнаружено обнаружение столкновений, однако я не смог фактически заставить объекты остановиться, когда они сталкиваются. Я пробовал просто установить их скорость на 0, однако гравитация все еще действует на них, и они будут медленно проходить через неподвижную энергию. Знаете ли вы, что я могу сделать объект прекрасным, когда он столкнется? – Panda
Вы хотите использовать Box2D Physics engine? Если это так, то вы должны прочитать [libgdx wiki] (https://github.com/libgdx/libgdx/wiki/Box2d) и учебники на [iforce2d] (https://www.iforce2d.net/b2dtut /). Учебники по iforce2d предназначены для C++, но теория одинакова для java (jBox2D) и C++. Также примеры должны быть понятны. – Springrbua