我測試了Libgdx和Scene2d。我期望這個小程序顯示一個標誌,但它只畫黑屏。任何想法我錯過了什麼?libgdx與scene2d和actor不顯示sprite
public class MyGame implements ApplicationListener {
private Stage stage;
@Override
public void create() {
stage = new Stage(800, 800, false);
Gdx.input.setInputProcessor(stage);
MyActor actor = new MyActor();
stage.addActor(actor);
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
@Override
public void dispose() {
stage.dispose();
}
@Override
public void resize(int width, int height) {
stage.setViewport(800, 800, false);
}
}
public class MyActor extends Actor {
Sprite sprite;
public MyActor() {
sprite = new Sprite();
sprite.setTexture(new Texture("data/libgdx.png"));
setWidth(sprite.getWidth());
setHeight(sprite.getHeight());
setBounds(0, 0, getWidth(), getHeight());
setTouchable(Touchable.enabled);
setX(0);
setY(0);
}
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
Color color = getColor();
batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);
batch.draw(sprite, getX(), getY());
}
}
在'batch.setColor()'中強制alpha(第四個參數)爲1.0f,看看是否有幫助。我懷疑默認顏色是全零。 – 2013-02-20 06:34:32
更改爲'batch.setColor(color.r,color.g,color.b,1.0f)',但結果相同。 – 2013-02-20 07:48:30