是否可以將紋理的顏色更改爲隨機顏色,如果可能,我該怎麼做? 我認爲另一種方法是創建一個精靈表與不同顏色的對象並隨機更改區域,但我不知道。更改紋理的顏色
更改紋理的顏色
回答
如果你有一個白色的紋理,那麼你可以改變spritebatch的顏色來爲圖像着色。
batch.setColor(new Color(r,g,b,a));
batch.draw(texture, x, y);
batch.setColor(new Color(1,1,1,1)); // reset to default colour
您不能更改Texture
的顏色,因爲它在GPU內存中。由於它們在OpenGL上下文中,因此無論何時都不能直接修改它們的像素。你可以使用Pixmap
這是一個保存在本地存儲器中的像素映射,用一些方法來執行所有的修改。
在其他的方式,您可以使用這些下列方式實現您的要求:
您可以使用
setColor()
其超載Batch
接口的方法。這些是
setColor
方法的原型。public void setColor (Color tint); public void setColor (float r, float g, float b, float a); public void setColor (float color);
設置
SpriteBatch
爲你的紋理,你想顯示彩色的顏色,你畫後再次把Spritebatch
顏色爲白色。
OR
可以使用
Sprite
保持的幾何形狀,顏色和紋理繪製2D精靈信息。Texture myTex=new Texture("badlogic.jpg"); Sprite sprite=new Sprite(myTex); sprite.setColor(Color.BLUE);
設置顏色隨機只是小邏輯,無論你想在一次或一定的延遲時間設置隨機顏色。
如何在舞臺上繪製精靈圖形?使用stage.getBatch().draw? – user8340536
'sprite.draw(stage.getBatch())',同樣在'begin()'和'end()'之間繪製。如果你使用的是scene2d,你應該使用'Image'而不是'Sprite' – Aryan
- 1. GLSL更改紋理的像素顏色
- 2. 用紋理圖像更改紋理顏色
- 3. 使用着色器更改紋理某些片段的顏色
- 4. 紋理GLSL顏色ontop的
- 5. 將顏色與紋理顏色不同
- 6. 使用OpenGL在Java中更改紋理中的某些顏色
- 7. 在Three.js中更改MouseOver上紋理的顏色
- 8. 更改Three.js collada對象的紋理和顏色
- 9. 用於紋理,顏色和紋理/顏色的片段着色器GLSL
- 10. GLSL 2.0顏色和紋理
- 11. OpenGL紋理顏色分離
- 12. 紋理缺乏顏色
- 13. SKSpriteNode只收紋理顏色
- 14. sknode顏色或紋理
- 15. openGL紋理和顏色
- 16. 如何更改最大化按鈕顏色/紋理
- 17. 更改顏色
- 18. 更改顏色
- 19. 更改顏色
- 20. 更改顏色
- 21. 更改顏色
- 22. 更改顏色
- 23. 更改處理後事件的顏色
- 24. 渲染到紋理填充XNA中的顏色紋理
- 25. OpenGL設置紋理的透明顏色
- 26. 紋理邊緣的顏色精度
- 27. three.js額外的紋理顏色
- 28. 用WebGL中的紋理替換顏色
- 29. 紋理獲取錯誤的顏色
- 30. GLSL中的紋理和顏色?
通過'PixMap',你可以進入單個像素來改變它。不確定你到底想要什麼。 – Madmenyo