If you look at the Color.Lerp documentation you'll notice that the third parameter is the
public static Color Lerp(Color value1, Color value2, float amount)
amount - A value between 0 and 1.0 indicating the weight of value2.
What this means is that to get the color to change you'll need to change the
amount over time between values of 0.0 and 1.0. To do this, create a member variable in your class and change it in the
private float _colorAmount = 0.0f;
protected override void Update(GameTime gameTime)
var deltaSeconds = (float)gameTime.ElapsedGameTime.TotalSeconds;
_colorAmount += deltaTime;
if(_colorAmount > 1.0f)
_colorAmount = 0.0f;
// rest of update method...
protected override void Draw(GameTime gameTime)
// start of draw method..
var startColor = new Color(255, 255, 255);
var finalColor = new Color(231, 214, 90);
var myColor = Color.Lerp(startColor, finalColor, _colorAmount);
spriteBatch.Draw(myTexture, Vector2.Zero, myColor);
// rest of draw method...
Obviously the actual logic you use will differ from the example here, but this should give you enough to get started.