Box2d libgdx赢得';不接受BodyType作为参数

Box2d libgdx赢得';不接受BodyType作为参数,libgdx,box2d,game-engine,Libgdx,Box2d,Game Engine,我认为这是不言自明的 对不起,我不能直接上传图片,因为我没有足够的声誉 @代码添加 来自init方法的代码 terrainBodyUp=createPhysicsObjectFromGraphics(terrainAbove, new Vector2(terrainAbove.getRegionWidth()/2,480- terrainAbove.getRegionHeight()/2), BodyDef.BodyType.StaticBod

我认为这是不言自明的

对不起,我不能直接上传图片,因为我没有足够的声誉

@代码添加

来自init方法的代码

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方法返回Body,而您正在将其赋值到terrainBodyUp变量中,该变量的类型为BodyDef.BodyType

感谢@Abishek Aryan为我指明了正确的方向。当我“全部替换”时,我意外地更改了数据类型,这给我带来了问题。因此,我没有使用Body作为数据类型,而是使用了BodyDef.BodyType

是否还可以编写更多的代码?我会继续说,这可能与Box2D或libGDXWell无关。这没有意义,我创建了函数,正如您所见,作为参数类型,我设置了BodyDef.BodyType,但当我传递BodyDef.BodyType.Dynamic时,它会产生错误。如果我在函数中直接指定BodyDef.BodyType.Dynamic,它就可以工作了。您能再添加一点周围的代码吗?一旦你通过添加实际代码来编辑你的问题,很难看到发生了什么,可能有人想要复制它,或者从这个页面上阅读它