Libgdx断言失败[表达式:pointCount> 0]

时间:2019-12-11 03:06:02

标签: java android libgdx runtime-error assertion

我目前正在使用LibGDX在Android上使用AI开发多人游戏。但是现在我遇到了一个问题,当我在台式机上运行两次或三次时,分别通过UDP和TCP通过不同的端口相互连接。播放几分钟后,其中之一变得无响应。我在android上进行了一些测试,但不确定崩溃是否会出现。单击“关闭程序”后,Android Studio控制台日志中将显示一些详细信息。我不知道为什么会这样。

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
AL lib: (EE) alc_cleanup: 1 device not closed
Assertion failed!

Program: C:\Program Files\Android\Android Studio\jre\bin\java.exe
File: /var/jenkins/.jenkins/workspace/libgdx/extensions/gdx-box2d/gdx-box2d/jni/Box2D/Dynamics/Contacts/b2ContactSolver.cpp, Line 73

Expression: pointCount > 0

我使用了多线程,同步,带有com.badlogic.gdx.physics.box2d.Body的对象的数组列表。

Three desktop apps are connected

One desktop app becomes unresponsive

更新:使用jstack进行调试后,我发现此行会导致随机故障。我想我没有正确使用box2d主体。

world.step(ScreenManager.deltaTime, 6, 2);

1 个答案:

答案 0 :(得分:0)

已解决。接触物体时,不得更改FixtureDef中的isSensor, 因为存在断言失败的可能性。