0

スプライトだけでメインメニューを作ろうとしています。ただし、レンダリングされると、スプライトはすばやく点滅します。なぜこれを行うのですか?

@Override
public void show() {
    batch = new SpriteBatch();

    texture = new Texture("ui/mainmenu.png");
    mainMenu = new Sprite(texture);
    mainMenu.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    batch.begin();
    mainMenu.draw(batch);
    batch.end();
}

@Override
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}
4

3 に答える 3

2

これは render メソッドに入ります:

batch.begin();
mainMenu.draw(batch);
batch.end();

Render は常に呼び出されるメソッドで、show は画面が表示されるときに一度だけ呼び出されます。

于 2013-08-19T17:36:29.277 に答える
0

正投影カメラを使用してスプライトをレンダリングします。これはあなたのために働くかもしれません

OrthographicCamera cam;
@Override
public void show() {
    batch = new SpriteBatch();
    cam= new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2,0);
    cam.update();
    texture = new Texture("ui/mainmenu.png");
    mainMenu = new Sprite(texture);
    mainMenu.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

}

@Override
public void render(float delta) {
    //clear screen to black.
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    //render sprite
    batch.setProjectionMatrix(cam.combined);
    batch.begin();
    mainMenu.draw(batch);
    batch.end();
}
于 2013-08-20T07:55:29.683 に答える