sirve que poner para paletas imprimir consola como colores color codigos codigo cambiar java sprite libgdx tint spritebatch

que - imprimir en colores en java



Establecer el color de SpriteBatch(para teƱir) afecta a todos los dibujos (2)

¡Cuidado con los objetos de Color mutables compartidos! Si lo haces:

this.color = Color.WHITE;

Y luego mute este this.color Luego, this.color , lo que generalmente es lo incorrecto. :)

Siempre haga una copia al construir un objeto Color que mutará:

this.color = new Color(Color.WHITE);

Muchos objetos en libGDX son mutables de esta manera (mientras que los objetos similares en una biblioteca regular de Java serían inmutables) porque libGDX está (con razón) muy preocupado por la sobrecarga de GC.

Creé una clase AnimatedSprite , que dibuja una TextureRegion específica. A veces necesito un efecto de color de tinte, por lo que configuro (this.color es un campo Color de mi AnimatedSprite ):

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);

Sin embargo, cuando tengo el color de un AnimatedSprite en negro o en cualquier color, todo lo demás tiene ese tinte de color. Incluso intento flush() , terminar el lote y comenzar uno nuevo, etc. pero nada parece funcionar.

Por favor, ayúdame a aplicar el efecto de tinte correctamente. Apreciaré cualquier idea.


En lugar de usar

this.color = new Color(Color.WHITE);

podrías usar:

batch.setColor(Color.WHITE.tmp());

Esto creará una copia temporal del color blanco y me parece un poco más limpio.