我一直试图让它工作一段时间,我不知道问题是什么...我可以出于某种原因绘制动画,但如果我尝试绘制一个简单的静态纹理,没有。我只想在给定坐标处绘制一个精灵,并有一个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函数。