[英]Shaperenderer crash libgdx
我正在使用libgdx開發一個新應用程序,並且在我的源代碼中使用了shaperenderer類,但是由於我購買了新的平板電腦(Acer Iconia One 10 B3-A20),因此我的應用程序在調用后始終崩潰而沒有顯示任何錯誤“ shaperenderer.end()”方法。 即使當我創建一個簡單的類(如以下類)時,我是否也缺少某些東西?
public class Test implements Screen {
private ShapeRenderer shapeRenderer = new ShapeRenderer();
@Override
public void show() {
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.rect(30,30,200,200);
shapeRenderer.end();
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
shapeRenderer.dispose();
}
}
謝謝
編輯:
在“ shaperenderer.end()”方法中放置一些斷點之后,我注意到程序在調用“ mesh.render()”方法后崩潰,尤其是當它調用Mesh類的“ bind”方法(用於綁定着色器)。
正常嗎
您需要首先在show方法上創建一個攝像機:
OrthographicCamera camera;
[...]
camera = new OrthographicCamera();
camera.setToOrtho(false);
在渲染方法上,在繪制之前設置projectionMatrix:
camera.update();
shapeRenderer.setProjectionMatrix(camera.combined);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.