我开始学习 libgdx 和它的 scene2d,但我的 splashScreen 遇到了问题。我的淡入淡出动作完美,但图像没有被缩放(即使我在构造函数中添加了缩放)......
我有一个从 png 512x512 加载的 Texture splashTexture,其中真实图像是 512x256,所以我创建了一个 TextureRegion。所有这些都是在我的 show 方法中完成的:
@Override
public void show() {
super.show(); //sets inputprocessor to stage
splashTexture = new Texture(SPLASHADR);
// set the linear texture filter to improve the stretching
splashTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
splashTextureRegion = new TextureRegion(splashTexture, 0, 0, 512, 256);
}
然后在我的调整大小方法中出现以下内容:
@Override
public void resize(int width, int height) {
stage.clear();
Drawable splashTextureDrawable = new TextureRegionDrawable(
splashTextureRegion);
Image splashImg = new Image(splashTextureDrawable);
splashImg.getColor().a = 0f;
splashImg.addAction(Actions.sequence(Actions.fadeIn(0.5f),
Actions.delay(2f), Actions.fadeOut(0.5f)));
stage.addActor(splashImg);
}
这些是 SplashScreen 类中的函数,它扩展了 AbstractScreen 类(实际上具有渲染函数):
@Override
public void render(float delta) {
stage.act(delta);
Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
}
欢迎任何想法,我一直在查看 javadocs 多年但还没有找到解决方案!
谢谢,
布努纳马克