在LibGdx中处理纹理
我使用下面提到的常用方法createSinglePixelTexture()创建具有指定颜色的单个像素 问题: 1.我需要处理“singlePixelPixmap”和纹理“t”吗? 2.如果我需要处理,我可以在哪里处理在LibGdx中处理纹理,libgdx,Libgdx,我使用下面提到的常用方法createSinglePixelTexture()创建具有指定颜色的单个像素 问题: 1.我需要处理“singlePixelPixmap”和纹理“t”吗? 2.如果我需要处理,我可以在哪里处理 singlePixelTexture = createSinglePixelTexture(0.129f, 0.129f, 0.129f, .7f); private Texture createSinglePixelTexture(float r,float g,floa
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;
}
PixmapTextureData
;这完全是可选的Pixmap
创建纹理
,就可以处理Pixmap
。因此,您可以在返回之前插入除纹理之外的所有处理
纹理
,就无法绘制该纹理。不要处理t
,除非您确定不再尝试绘制它你必须把它处理掉!但是,我们无法告诉您何时可以处理它。这取决于你。。。您可以在不再使用它时处理它。但是变量“singlePixelPixmap”和“t”无法处理,因为范围在方法createSinglePixelTexture()内。我们无法在返回语句之前处理它。这里的任何建议您必须将纹理处理出此范围,当然,因为您返回了它。我认为您还可以将pixmap设置为“托管”,这将导致在处理纹理时也处理它。我确信我必须处理纹理“singlePixelTexture”,它不在方法createSinglePixelTexture()的范围内。createSinglePixelTexture()中的“singlePixelPixmap”和“t”如何。另外,请让我知道什么是pixmap“托管”,看起来您试图解决错误的问题。你真的应该重新考虑你的方法。简单地在你的地图册中添加一个3×3像素的完全不透明的白色图像(1×1也可以,但稍微扩展一下也无妨)。然后您可以着色(例如,
setColor
),而不是每次创建一个新纹理。我理解,您能告诉我我的方法createSinglePixelTexture()中的dispose来自哪里吗。