Android 如何去除不需要的形状

Android 如何去除不需要的形状,android,2d,Android,2d,这是我的“public void create()”的一部分: 这是我的“public void render()”的一部分 if(跳线.getPosition().y

这是我的“public void create()”的一部分:

这是我的“public void render()”的一部分

if(跳线.getPosition().y<0.4){
整体纹理=新纹理(Gdx.files.internal(“data/sprite1.png”);
overallTexture.setFilter(TextureFilter.Linear,TextureFilter.Linear);
jumperSprite=新精灵(整体纹理,0,0,32,37);
spriteBatch=新spriteBatch();
BodyDef跳线ODYDEF=新的BodyDef();
jumperBodyDef.type=BodyDef.BodyType.DynamicBody;
跳线ODYDEF.位置设置(1.0f,3.0f);
jumper=world.createBody(jumperBodyDef);
PolygonShape跳线=新PolygonShape();
jumperShape.setAsBox(jumperSprite.getWidth()/(每米2*像素),
jumperSprite.getHeight()/(每米2*像素);
跳线。设置固定旋转(真);
FixtureDef跳线FixtureDef=新的FixtureDef();
jumperFixtureDef.shape=跳线形状;
jumperFixtureDef.density=1.0f;
跳线固定器定义摩擦=5.0f;
jumper.createFixture(jumperFixtureDef);
跳线配置();
}

现在发生了什么:每当角色到达某个Y坐标时,它都会在起始点重置角色。问题是,每当发生这种情况时,它重置他的Y坐标,他的“形状”仍然像一个盒子一样存在。所以,每当你再次落在Y坐标上,你不会被重置,因为你落在他的“形状”上。有什么想法吗?

安引擎有一种称为物理连接器的东西,而且由于安引擎使用LibGDX的Box2D实现,可能LibGDX中也存在一个registerPhysicsConnector()方法。

我需要做的就是去掉每当角色重置时留下的“形状”。我怎么也用不上?或者它不是那样工作的?对不起,我是Android编程新手。也许这能帮上忙
overallTexture = new Texture(Gdx.files.internal("data/sprite1.png"));
overallTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
jumperSprite = new Sprite(overallTexture, 0, 0, 32, 37);
spriteBatch = new SpriteBatch();
world = new World(new Vector2(0.0f, -10.0f), true);

    BodyDef jumperBodyDef = new BodyDef();
    jumperBodyDef.type = BodyDef.BodyType.DynamicBody;
    jumperBodyDef.position.set(1.0f, 3.0f);

    jumper = world.createBody(jumperBodyDef);
    PolygonShape jumperShape = new PolygonShape();
    jumperShape.setAsBox(jumperSprite.getWidth() / (2 * PIXELS_PER_METER),
    jumperSprite.getHeight() / (2 * PIXELS_PER_METER));

    jumper.setFixedRotation(true);

    FixtureDef jumperFixtureDef = new FixtureDef();
    jumperFixtureDef.shape = jumperShape;
    jumperFixtureDef.density = 1.0f;
    jumperFixtureDef.friction = 5.0f;
if (jumper.getPosition().y < 0.4) {

        overallTexture = new      Texture(Gdx.files.internal("data/sprite1.png"));
        overallTexture.setFilter(TextureFilter.Linear,  TextureFilter.Linear);
        jumperSprite = new Sprite(overallTexture, 0, 0, 32, 37);
        spriteBatch = new SpriteBatch();
        BodyDef jumperBodyDef = new BodyDef();
        jumperBodyDef.type = BodyDef.BodyType.DynamicBody;
        jumperBodyDef.position.set(1.0f, 3.0f);

        jumper = world.createBody(jumperBodyDef);
        PolygonShape jumperShape = new PolygonShape();
        jumperShape.setAsBox(jumperSprite.getWidth() / (2 * PIXELS_PER_METER),
        jumperSprite.getHeight() / (2 * PIXELS_PER_METER));
        jumper.setFixedRotation(true);

        FixtureDef jumperFixtureDef = new FixtureDef();
        jumperFixtureDef.shape = jumperShape;
        jumperFixtureDef.density = 1.0f;
        jumperFixtureDef.friction = 5.0f;

        jumper.createFixture(jumperFixtureDef);
        jumperShape.dispose();


    }