我確定我錯過了一些非常明顯的東西,但我是初學者,所以請不要暗戀我。我的問題是我有一個比屏幕小的視口。現在我也想直接使用Sprite.draw(SpriteBatch)在屏幕上繪製一個Sprite。 Sprite和舞臺的位置不重疊。舞臺繪製得很好,但Sprite不可見。當我在render-method中註釋掉stage.draw()部分時,Sprite就可見了。libGdx:有一個階段時,不會畫出雪碧
代碼: 這是我的渲染方法:
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.851f, 0.894f, 0.992f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
stage.act(delta);
batch.setProjectionMatrix(camera.combined);
batch.begin();
stage.draw();
logoSprite.draw(batch);
batch.end();
}
在這裏,我初始化相機和階段(stageHeight是int,這只是五分之三*屏幕的高度):
camera = new OrthographicCamera();
camera.setToOrtho(false, SwapItGame.WIDTH, SwapItGame.HEIGHT);
stage = new Stage();
stage.setViewport(1080, stageHeight, true, 0, 0, 1080, stageHeight); //The button part of the menu takes up 3 fifth of the Height of hte screen
stage.setCamera(camera);
在這裏,我初始化我雪碧(對於精靈的位置值是相當複雜的,只是忽略它這是肯定的舞臺上。):
logoSprite = skin.getSprite("logo");
logoSprite.setPosition((SwapItGame.WIDTH-logoSprite.getWidth())/2, (SwapItGame.HEIGHT-stageHeight-logoSprite.getHeight())/2 + stageHeight);
是不可能有一個雪碧和舞臺在同一屏幕上?或者我在做一些根本性錯誤?
張貼代碼......否則,我們需要尋找到GLAS球,看看我們可以猜測 – BennX
這是相當長的,但我當然會做,如果它可以幫助你。 – tomet
然後只顯示渲染的部分和你添加精靈的部分。沒有代碼,我們不能幫助你,因爲我們沒有看到你做錯了什麼。 – BennX