libgdx - 如何使用 Pixmap 纹理处理 libGDX Image 的简历

标签 libgdx

我有一个从 Pixmap 构建的 com.badlogic.gdx.scenes.scene2d.ui.Image。像素图只有一个像素,因为我用它来构建一个图像,该图像用作可以淡入淡出的背景。

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

关于libgdx - 如何使用 Pixmap 纹理处理 libGDX Image 的简历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522946/

相关文章:

java - LibGDX 工具.jar 丢失

java - 如何在 libgdx 中构建分屏?一个用于二维动画,一个用于信息面板

java - 在 LibGDX 中,在 Screen.dispose() 之后调用 Screen.hide() 是否安全?

libGDX android - 共享文本

java - LibGdx - 如何从播放器获取输入,同时也能够从舞台获取输入

java - 依赖另一个 Gradle 脚本中的项目

android - 将 Libgdx 项目从 Eclipse 迁移到 Android Studio 时出错

java - 在 libgdx 中绘制旋转的 BitmapFont

java - 有没有办法在 LWJGL/LibGDX 中设置应用程序窗口的位置?

java - LibGDX - 基本的 2D 光照,不知道该怎么做