试图在libgdx中绘制精灵并且没有任何内容出现

时间:2017-04-29 23:17:07

标签: java android opengl-es libgdx

我一直试图让它工作一段时间,我不知道问题是什么...我可以出于某种原因绘制动画,但如果我尝试绘制一个简单的静态纹理,没有。我只想在给定坐标处绘制一个精灵,并有一个box2d体来进行碰撞。我也可以让身体发挥作用,而不是纹理。现在,我正在努力重建整个事情,但仍然没有进展。我的目标是

public class RoadBlock extends Sprite {
    private TextureAtlas atlas;

    public RoadBlock (PlayScreen screen, float x, float y) {
        atlas = new 
        TextureAtlas(Gdx.files.internal("tunnelPics/tunnelAtlas.atlas"));
        setPosition(x, y);
        setRegion(atlas.findRegion("barbSmol"), 0, 0, 120, 75);
    }
    public void draw(Batch batch) {super.draw(batch);}
}

在等级中它被画成

public void render(MyGdxGame game){
    for(Sprite RB: RBs) {
        RB.draw(game.batch);
    }
}

这将从与精灵相关的平铺TMX地图对象中填充RB(arrayList)。

然后在playScreen中渲染时,我使用

public void render(float delta) {
    update(delta);
    //background color
    Gdx.gl.glClearColor(0,0,0,1);
    Gdx.gl.glEnable(GL20.GL_BLEND); //enable transparent images
    Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    //render
    renderer.render();
    game.batch.enableBlending(); 
    game.batch.setProjectionMatrix(gamecam.combined);
    game.batch.begin();
    //render character
    player.draw(game.batch);
    //render current level
    curLevel.render(game);
    game.batch.end();
}

从上面调用render函数。

0 个答案:

没有答案