To apply an ambient light in your game,a very simple way without using shaders.
To do this, simply edit color when Draw each sprite.
Add a the top of your game class :
float ambient = 1f; Color ambientColor = Color.White;
In the Update method :
KeyboardState c = Keyboard.GetState();
if (c.IsKeyDown(Keys.Space))
{
ambient -= 0.01f;
if (ambient <= 0)
ambient = 1f;
}
And finally , to apply ambient on sprites :
Color drawColor = new Color(ambientColor.R / 255f * ambient, ambientColor.G / 255f * ambient, ambientColor.B / 255f * ambient); spriteBatch.Begin(); spriteBatch.Draw(mySprite, new Vector2(0,0), drawColor); spriteBatch.End();As you see, it's very easy :) With this, you could simulate for example day cycle.
No comments:
Post a Comment