简体   繁体   English

Shaperenderer崩溃libgdx

[英]Shaperenderer crash libgdx

I'm developing a new application with libgdx and in my source code i'm using the shaperenderer class but since I've bought my new tablet (Acer Iconia One 10 B3-A20), my application always crash without displaying any errors after calling the "shaperenderer.end()" method . 我正在使用libgdx开发一个新应用程序,并且在我的源代码中使用了shaperenderer类,但是由于我购买了新的平板电脑(Acer Iconia One 10 B3-A20),因此我的应用程序在调用后始终崩溃而没有显示任何错误“ shaperenderer.end()”方法。 Even when I create a simple class as the following one, have I missing something? 即使当我创建一个简单的类(如以下类)时,我是否也缺少某些东西?

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();

    }
}

Thanks 谢谢

EDIT: 编辑:

After placing some breakpoints into the "shaperenderer.end()"method i have noticed that the program crash after calling the "mesh.render()" method, and particularly when it call the "bind" method of the Mesh class (for binding the shaders). 在“ shaperenderer.end()”方法中放置一些断点之后,我注意到程序在调用“ mesh.render()”方法后崩溃,尤其是当它调用Mesh类的“ bind”方法(用于绑定着色器)。

Is it normal? 正常吗

You need to create a camera first on your show method: 您需要首先在show方法上创建一个摄像机:

OrthographicCamera camera;
[...]
camera = new OrthographicCamera();
camera.setToOrtho(false);

and on render method set the projectionMatrix before draw: 在渲染方法上,在绘制之前设置projectionMatrix:

    camera.update();
    shapeRenderer.setProjectionMatrix(camera.combined);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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