如何使用 physics body editor 的 Loader 在 Libgdx 中加载 fixture

How to use physics body editor's Loader to load fixture in Libgdx

抱歉这个愚蠢的问题,但我不知道在从物理 body 编辑器软件,aurelions ribbon 创建 body fixture 之后做什么。我不知道如何使用加载程序,我只是尝试

BodyEditorLoader loader = new BodyEditorLoader(
                Gdx.files.internal("data/player.json"));

        // 1. Create a BodyDef, as usual.
        BodyDef bd = new BodyDef();
        bd.position.set(0, 0);
        bd.type = BodyType.DynamicBody;

        // 2. Create a FixtureDef, as usual.
        FixtureDef fd = new FixtureDef();
        fd.density = 1;
        fd.friction = 0.5f;
        fd.restitution = 0.3f;

但是在第 1 行向我显示错误 BodyEditorLoader 是未知的,我不知道如何让它知道 android studio。

尝试将此 class 添加到您的项目中,(尽管由于 libGDX API 中的更改,它有可能无法正常工作,但应该相当容易使用):

https://gist.github.com/grulg/8691e7ee7709367ce165

三个简单的步骤:

  1. Create body editor loader
BodyEditorLoader loader = new BodyEditorLoader(Gdx.files.internal("data/player.json"));
  1. Create body definition then create body by using that def from physics world.
 BodyDef bdef = new BodyDef();
 bdef.position.set(0,0);
 bdef.type = BodyDef.BodyType.DynamicBody;
 Body body = world.createBody(bdef); 
  1. Create Fixture definition and attach to body
FixtureDef fdef = new FixtureDef();
fdef.density = 1;
fdef.friction = 0.5f;
fdef.restitution = 0.5f;

float scale =.1f;   
loader.attachFixture(body, "Name", fdef, scale);