Stack Overflow的用户, 我最近开始学习XNA 4.0和C#,但是遇到了这个问题:
我想写一个简单的程序,这将是一些心不在焉的sceensaver-ish图形显示。然而,作为该计划的一部分,我想在屏幕上创建相同纹理的多个副本,但是使用不同的颜色。 (纹理将类似于本教程http://rbwhitaker.wikidot.com/additive-sprites中的彩色点,但是随机颜色,而不仅仅是那三种颜色)我试图在spritebatch.draw()方法中简单地着色点,但是点会变得更暗。是否有某种类型的特殊纹理在没有颜色的情况下创建,因此可以在以后为其指定颜色?
感谢任何帮助,谢谢!
答案 0 :(得分:1)
在spriteBatch.Draw(...)
方法中使用不同于白色的颜色时,它会用该颜色着色您的纹理,但不会将其原始颜色更改为选定的颜色
只有在原始纹理为白色或浅灰色时才能实现;在这种情况下;当在调用中选择特定颜色时,结果对象将拥有它(或看起来像它)。
我以前在我的项目中做的是使用白色,灰色的spritesheet以及两者之间的混合仅用于这些情况,这样我可以拥有许多具有相同纹理但不同的对象颜色和看起来很好(对背景项目特别有用)。