我有一个从 Pixmap 构建的 com.badlogic.gdx.scenes.scene2d.ui.Image 。 Pixmap 只有一个像素,因为我用它来构建一个图像,该图像充当可以淡入和淡出的背景。
Pixmap pmap = new Pixmap(1, 1, Pixmap.Format.RGBA8888);
pmap.setColor(1.0f, 1.0f, 1.0f, 1.0f);
pmap.drawPixel(0, 0);
bgImage = new Image(new Texture(pmap));
pmap.dispose();
bgImage.setSize(MyGame.VIRUAL_WIDTH, MyGame.VIRUAL_HEIGHT);
bgImage.getColor().a = 0.0f;
bgImage.addAction(Actions.sequence(Actions.fadeIn(1.0f),Actions.delay(3.0f),Actions.fadeOut(1.0f)));
stage.addActor(bgImage);
它工作得很好,但我担心游戏可能会在动作发生时暂停。我假设恢复后操作将继续,因此我需要保留相同的图像,但底层像素图不受管理,因此需要在恢复时重新创建。我无法弄清楚如何将纹理/像素图重新附加到图像。构建 Pixmap 本身很容易,但如何使用现有的图像是个问题。
我的解决方案如下
假设 Pixmap pixmap = ...
TextureData texData = new PixmapTextureData(pixmap, Format.RGBA8888, false, false, true);
Texture texture = new Texture(texData);
Image image = new Image(texture);
PixmapTextureData 中的最后一个标志是“托管”。它在我的上运行。
您可以查看以下链接的第一部分,了解哪些内容受管理,哪些内容不受管理。http://www.badlogicgames.com/wordpress/?p=1513 http://www.badlogicgames.com/wordpress/?p=1513
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)