在libGDX中绘制(形状)到纹理/精灵

时间:2014-04-06 11:04:26

标签: libgdx

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

如何在不影响其他精灵的情况下修改seveal精灵之间共享的纹理? 我想在将它设置为精灵之前我需要复制纹理吗?

1 个答案:

答案 0 :(得分:0)

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

在使用spriteBatch绘制精灵之前,只需说:

spriteBatch.begin();

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

...

spriteBatch.end();

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

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

希望这能给你一个想法。