0
我想並排渲染兩個紋理。然後將這兩種紋理的組合看作一個精靈來使用單個相機。我能夠使用SpriteBatch並排渲染兩個紋理。我如何將這兩個紋理組合成一個精靈並使用相機來獲得不同的視圖?libgdx - 使用SpriteBatch並使用一個攝像頭並排渲染兩個紋理
當我用SpriteBatch繪製兩個紋理後,我試圖用sprite繪製這樣的SpriteBatch。但是在調用sprite.draw()時我得到了空指針。
我的最終目標是並排渲染兩幅圖像作爲背景,並且能夠在我的背景上使用相機。有任何想法嗎? THX
我當前的代碼:
public void create() {
batch = new SpriteBatch();
//create two texture for 1.jpg and 2.jpg
//use batch to draw them separately at different position
img_1 = new Texture("1.jpg");
img_2 = new Texture("2.jpg");
mWorld = new Sprite();
mWorld.setPosition(0, 0);
mWorld.setSize(WORLD_WIDTH,WORLD_HEIGHT);
float aspectRatio = (float)Gdx.graphics.getHeight()/(float)Gdx.graphics.getWidth();
camera = new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_WIDTH * aspectRatio);
camera.position.set(camera.viewportWidth/2f, camera.viewportHeight/2f, 0);
camera.update();
}
@Override
public void render() {
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(this.img_1, 0, 0, WORLD_WIDTH/2, WORLD_HEIGHT);
batch.draw(this.img_2, WORLD_WIDTH/2, 0, WORLD_WIDTH/2, WORLD_HEIGHT);
//getting java nullpointer exception here
mWorld.draw(batch);
batch.end();
}
有你設定精靈mWorld紋理?我沒有看到任何東西,也發佈了完整的stackTrace – SteveL