【问题标题】:Draw (shapes) to a texture/sprite in libGDX在 libGDX 中绘制(形状)到纹理/精灵
【发布时间】:2014-04-06 11:04:26
【问题描述】:

在我的 libGDX 游戏中,我有几个共享相同纹理的精灵。现在我想“手动”绘制到一些精灵上(即我想改变一些精灵中的一些像素)。

如何修改在几个精灵之间共享的纹理而不影响其他精灵?
我想我需要先复制纹理,然后再将其设置为精灵?

【问题讨论】:

  • 您是否尝试过使用Pixmaps

标签: libgdx


【解决方案1】:

您可以使用自定义着色器来自定义精灵纹理。

在用 spriteBatch 绘制精灵之前,简单说一下:

spriteBatch.begin();

spriteBatch.useShader(shaderProgram1);
sprite1.draw(...);
spriteBatch.useShader(shaderProgram);
sprite2.draw(...);

...

spriteBatch.end();

如果您不熟悉着色器,可以查看此链接: https://github.com/libgdx/libgdx/wiki/Shaders

还有使用帧缓冲对象的选项,用于纹理自定义,但我认为如果这些纹理差异不是很大,如果您正在寻找最佳性能,这是最好的解决方案。

希望这能给你一个想法。

【讨论】: