繁体   English   中英

Shaperenderer崩溃libgdx

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM