Box2d libgdx 不接受 BodyType 作为参数

Box2d libgdx won't accept BodyType as parameter

我认为这几乎是不言自明的

http://image.prntscr.com/image/b699a17ac7954732b18b275689425227.png http://image.prntscr.com/image/86fc8d49e513402bac04f57483fbbe04.png

对不起,我没有足够的声誉,无法直接上传图片。

@代码已添加

初始化方法中的代码

terrainBodyUp=createPhysicsObjectFromGraphics(terrainAbove,
            new Vector2(terrainAbove.getRegionWidth()/2,480- terrainAbove.getRegionHeight()/2),
            BodyDef.BodyType.StaticBody);

还有我的 createPhysicsObjectFromGraphics 方法

private Body createPhysicsObjectFromGraphics(TextureRegion region,
                                             Vector2 position, BodyDef.BodyType bodyType) {
    BodyDef boxBodyDef = new BodyDef();
    boxBodyDef.type = bodyType;
    boxBodyDef.position.x = position.x/BOX2D_TO_CAMERA_;
    boxBodyDef.position.y = position.y/BOX2D_TO_CAMERA_;
    Body boxBody = world.createBody(boxBodyDef);
    PolygonShape boxPoly = new PolygonShape();
    boxPoly.setAsBox(region.getRegionWidth()/(2*BOX2D_TO_CAMERA_),
            region.getRegionHeight()/(2*BOX2D_TO_CAMERA_));
    FixtureDef fixtureDef = new FixtureDef();
    fixtureDef.shape = boxPoly;
    fixtureDef.density=1;
    fixtureDef.restitution=0.2f;
    boxBody.createFixture(fixtureDef);
    boxPoly.dispose();
    boxBody.setUserData(region);
    return boxBody;
}

不兼容的类型错误,因为 createPhysicsObjectFromGraphics 方法 return Body 并且您正在分配到 BodyDef.BodyType 类型的 terrainBodyUp 变量。

感谢@Abishek Aryan 为我指明了正确的方向。当我做 "replace all" 时,我不小心更改了数据类型,这给我带来了问题。因此,我没有使用 Body 作为数据类型,而是使用 BodyDef.BodyType