2016-03-09 104 views
0

我發展與libgdx和我的源代碼我使用shaperenderer類,但因爲我已經買了新的平板電腦(宏碁Iconia一個10 B3-A20)新的應用程序,我的應用程序始終崩潰調用「shaperenderer.end()」方法後不顯示任何錯誤。即使我創建一個簡單的類如下,我是否錯過了一些東西?Shaperenderer崩潰libgdx

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類的「綁定」方法(用於綁定着色器)時。

它是正常的嗎?

+0

是什麼logcat的表現? – Tenfour04

+0

02-09 17:38:39.825 17727-17759 A/libc:致命信號11(SIGSEGV),代碼1,錯誤地址0xffffff87e63000 in tid 17759(GLThread 5934) 正如我所說我不會加載任何圖像:/ 編輯:沒有,我沒有做多線程和我有一個擴展的比賽,我創建了「創建」方法「測試」的對象只是一個類「程序管理」,這是它 – Alain

+0

你從所做的任何更改默認的Libgdx Android啓動器類?你在做什麼多線程? – Tenfour04

回答

0

你需要在你的表演方法,首先創建一個攝像頭:

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

和渲染方法設置抽獎前projectionMatrix:

camera.update(); 
    shapeRenderer.setProjectionMatrix(camera.combined); 
相關問題