#java #android #libgdx
#java #Android #libgdx
Вопрос:
Здравствуйте, мое приложение вылетает, если я пытаюсь выстрелить снарядом, но только через 1-2 секунды после запуска приложения. Если я подожду несколько секунд, он не выйдет из строя и будет работать идеально. В настольной версии он вообще не выходит из строя.
Код ошибки:
Фатальный сигнал 11 (SIGSEGV), код 1, ошибка addr 0x191d4 в tid 10103 (GLThread 7380)
Это не обязательно связано с уничтожением тел, когда мир заблокирован, потому что я справляюсь с этим с помощью отложенного удаления.
void shot(ProjectileData data) {
this.data = data;
if (data.elementType == ElementType.DARK) filter.groupIndex = FilterBits.DARK_GROUP;
else filter.groupIndex = FilterBits.LIGHT_GROUP;
fixture.setFilterData(filter);
spawn(data.start);
newNormal.set(data.normal).scl(SPEED_VEL * bodyC.body.getMass() / (1/60.0f));
bodyC.body.applyForceToCenter(newNormal, true);
}
public void spawn(float x, float y) {
bodyC.body.setActive(true);
bodyC.body.setTransform(x, y, bodyC.body.getAngle());
}
Редактировать:
Тестовые устройства:
- SGS5 -> креш
- SGS7 egde -> креш
- LG G4 -> храш
Комментарии:
1. Используете ли вы какие-либо собственные библиотеки? Если нет, то это, вероятно, ошибка в реализации OpenGL на устройстве. Происходит ли это и с другими устройствами (другого производителя)?
2. LibGDX имеет собственную библиотеку box2d. Теперь я тестирую его с помощью ребер SGS5 и SGS7. Оба разбились
3. Попробуйте комментировать по одной строке за раз, начиная с последней строки, и посмотрите, где происходит сбой.