【问题标题】:How to color TextureRegion pixel by pixel in LibGDX如何在 LibGDX 中逐像素为 TextureRegion 着色
【发布时间】:2014-08-20 22:37:20
【问题描述】:

我在 LibGDX 中有一个 TextureRegions 的 HashMap,我从单个精灵表中收集,并希望根据某些条件对它们进行不同的着色。在不着色的情况下按像素(或其他方式)为 TextureRegion 着色的最简单方法是什么?

我尝试使用 setColor(Color tint) 为 TextureRegion 着色,但这会根据颜色产生混合结果。例如,如果我有深蓝色并想将其染成亮黄色,则结果会变成深橙色。我需要一种确定的方法来使用 Hex 值设置 TextureRegion 中每个像素的颜色。

谢谢大家!

【问题讨论】:

  • 你是如何使用纹理区域的?在雪碧?在 Sprite 上设置颜色以对其进行着色可能更容易。更改支持 TextureRegion 的实际纹理涉及像素图,可能会对性能造成重大影响。
  • @Tenfour04 我正在使用 SpriteBatch 来绘制 TextureRegions。我现在正在考虑使用着色器,但如果有更好的建议,我很乐意听到。
  • 您的选择取决于您的目标。如果它相当简单,您可以只使用灰度精灵并通过在精灵上设置颜色来为它们着色。但是如果你需要在同一个精灵上使用多种色调,你可能需要修改像素图,这有点慢。如果您想要精灵上的多个色调,但只有其中一个发生变化,您可以使用多重纹理和专门的着色​​器来做到这一点。

标签: android libgdx


【解决方案1】:

我能够通过使用自定义着色器来实现此功能。感谢@Tenfour04 在之前的回答中提供了着色器:

libgdx changing sprite color while hurt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多