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