【发布时间】:2015-02-23 18:35:27
【问题描述】:
有一个运行 Libgdx 的 Android 应用程序,其中包含许多精灵。目前,我根据它们所属的组对它们进行不同的着色,例如“红色”、“绿色”、“蓝色”等。但是,我认为我更喜欢只为精灵的一部分而不是整个事物着色。
目前我使用:
batch.begin();
batch.setColor(color1);
batch.draw(group1);
batch.setColor(color2);
batch.draw(group2);
etc..
batch.end();
batch.setColor(color) 用于为批次着色并将其应用于整个精灵。该组完成后,我更改颜色并移至下一组。完成组后,我会重置批次颜色。
是否有一种着色器/混合器方式只为精灵的一部分着色?例如,我的纹理中任何颜色为 red 的东西都应该被视为“动态区域”,然后可以将其着色为我动态设置的任何内容。
我不能使用透明度,因为纹理的边缘是透明的,需要保持这种状态才能混合。
非常感谢
【问题讨论】:
标签: java android libgdx blending spritebatch