在 LibGdx 中处理纹理

Disposing a Texture in LibGdx

我正在使用我在下面提到的常用方法 createSinglePixelTexture() 创建具有指定颜色的单个像素。

问题: 1. 我需要处理 "singlePixelPixmap" 和纹理 "t" 吗? 2. 如果我需要在可以处理的地方处理它?

singlePixelTexture = createSinglePixelTexture(0.129f, 0.129f, 0.129f, .7f);



private Texture createSinglePixelTexture(float r,float g,float b,float a) {
    Pixmap singlePixelPixmap; 
    singlePixelPixmap = new Pixmap(1, 1, Pixmap.Format.RGBA8888);
    singlePixelPixmap.setColor(r, g, b, a);
    singlePixelPixmap.fill();
    PixmapTextureData textureData = new PixmapTextureData(singlePixelPixmap, Pixmap.Format.RGBA8888, false, false, true);
    Texture t = new Texture(textureData);
    t.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
    return t; 
}
  1. 不需要中介PixmapTextureData;这完全是可选的。
  2. 一旦用 Pixmap 创建了 Texture,就可以处理 Pixmap。因此,您可以在 return.
  3. 之前插入除纹理之外的所有内容的处理
  4. Texture一经处理,便无法绘制。不要丢弃 t 除非你确定你永远不会再尝试绘制它。