gpt4 book ai didi

java - Box2d 与 AndEngine 异常创建固定装置

转载 作者:行者123 更新时间:2023-12-01 12:20:02 25 4
gpt4 key购买 nike

我将 AndEngine 与 Box2d 扩展一起使用,当我的游戏加载 map 时,有时会崩溃(是的,只是有时。对我来说,它看起来很随机),轨迹如下所示:

#00 pc 00014480 /data/app-lib/com.sergio.game-2/libandenginephysicsbox2dextension.so (b2Body::CreateFixture(b2FixtureDef const*)+8)
#01 pc 0000c408 /data/app-lib/com.sergio.game-2/libandenginephysicsbox2dextension.so (Java_com_badlogic_gdx_physics_box2d_Body_jniCreateFixture__JJFFFZSSS+112)
#02 pc 0001dbcc /system/lib/libdvm.so (dvmPlatformInvoke+112)
#03 pc 0004e123 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#04 pc 00000214 /dev/ashmem/dalvik-jit-code-cache (deleted)

它不会告诉我到底哪里崩溃了,我也不知道该看哪里。我像往常一样创建主体和固定装置:

FixtureDef wallfixture = PhysicsFactory.createFixtureDef(0, 0, 0.2f);
wallfixture.filter.categoryBits = CATEGORY_WALL;
wallfixture.filter.maskBits = MASK_WALL;
final Body theBody = PhysicsFactory.createBoxBody(mPhysicsWorld, greenRectangle, BodyType.StaticBody, wallfixture);

有什么想法吗?

最佳答案

根据我的经验,box2d 中的装置经常出现几个问题:

  1. 绕行顺序无效;
  2. 非凸多边形;
  3. 形状尺寸太小。当几个点之间的距离太短时,box2d 会假设它们是一个点。这就是为什么 box2d 可以将三角形解释为一条线,例如,这是 Not Acceptable (多边形必须至少有 3 个点)。

检查您的所有灯具是否始终符合这些规则。看起来您正在随机生成灯具,并且有时某些灯具在所描述的含义中变得无效。

关于java - Box2d 与 AndEngine 异常创建固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com