是否可以將紋理的顏色更改爲隨機顏色,如果可能,我該怎麼做? 我認爲另一種方法是創建一個精靈表與不同顏色的對象並隨機更改區域,但我不知道。更改紋理的顏色
更改紋理的顏色
回答
如果你有一個白色的紋理,那麼你可以改變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. 用紋理圖像更改紋理顏色
- 2. 在Three.js中更改MouseOver上紋理的顏色
- 3. 更改Three.js collada對象的紋理和顏色
- 4. GLSL 2.0顏色和紋理
- 5. 如何更改最大化按鈕顏色/紋理
- 6. 更改顏色
- 7. 更改顏色
- 8. 更改處理後事件的顏色
- 9. 紋理獲取錯誤的顏色
- 10. 紋理天空盒團結的顏色
- 11. OpenGL設置紋理的透明顏色
- 12. three.js額外的紋理顏色
- 13. 紋理影響對象的顏色
- 14. 紋理邊緣的顏色精度
- 15. OpenGL紋理奇怪的顏色
- 16. GLSL中的紋理和顏色?
- 17. opengl設置頂點顏色的紋理顏色
- 18. Lwjgl正在改變我的紋理的顏色?
- 19. 更改NavigationDrawer的顏色點擊顏色
- 20. SceneKit地板紋理改變了Xcode 8的顏色
- 21. 動態更改svg的顏色並將其作爲紋理應用於three.js
- 22. 如何更改處理背景顏色?
- 23. 更改顏色處理程序CSS
- 24. 更改按鈕帶紋波的背景顏色
- 25. 更改Texbox顏色
- 26. 更改SVG顏色
- 27. 更改UIBarButtonItem顏色
- 28. 更改vim'gutter'顏色
- 29. 更改UIBarButtonItem顏色
- 30. 更改UIBarButtonSystem顏色
通過'PixMap',你可以進入單個像素來改變它。不確定你到底想要什麼。 – Madmenyo