我创建了一个
AnimatedSprite
类,可以绘制特定的TextureRegion
。有时我需要使用着色效果,所以我设置了这个颜色(color
是我的AnimatedSprite
类中的一个Color
字段):super.draw(batch, parentAlpha);
batch.setColor(this.color);
batch.draw(this.frames[this.currentFrame], x, y, originX, originY, width, height, scaleX, scaleY, rotation)
batch.setColor(Color.WHITE);
然而,当我将AnimatedSprite
的颜色设置为黑色或其他颜色时,其他所有元素都会有相同的颜色。我甚至尝试过flush()
、结束批处理并开始新的批处理等操作...但似乎没有什么作用。
请帮助我正确地应用着色效果。我会感激任何想法。
draw
方法的主体?看起来没问题,就像Image.java中的绘制方法。也许还有其他问题吗?这个color在其他地方被使用了吗? - P.T.Image
类。Image
类甚至没有重置批处理的颜色,所以我尝试在我的代码中将其删除。this.color
在其他地方没有被使用,我也只给出了r g b值而不是整个颜色实例。然而,我的整个屏幕仍然被染上了一种颜色。 - Luke Vo