在我的libGDX游戏中,我有几个共享相同纹理的精灵。现在我想"手动"画一些精灵(即我想改变一些精灵中的一些像素)。
如何在不影响其他精灵的情况下修改seveal精灵之间共享的纹理? 我想在将它设置为精灵之前我需要复制纹理吗?
答案 0 :(得分:0)
您可以使用自定义着色器来自定义精灵纹理。
在使用spriteBatch绘制精灵之前,只需说:
spriteBatch.begin();
spriteBatch.useShader(shaderProgram1);
sprite1.draw(...);
spriteBatch.useShader(shaderProgram);
sprite2.draw(...);
...
spriteBatch.end();
如果您不熟悉着色器,可以查看以下链接: https://github.com/libgdx/libgdx/wiki/Shaders
还可以选择使用帧缓冲对象,用于纹理自定义,但我认为如果这些纹理差异不是那么大,如果您正在寻找最佳性能,这是最佳解决方案。
希望这能给你一个想法。