/// <summary> /// Constructor de la clase. /// </summary> public Sprite() { this.TextureName = ""; this.Animations = new AnimationManager(); this.Location = new Vector2(); this.Color = Color.White; this.Scale = 1; this.Angle = 0f; this.OffSet = Vector2.Zero; this.Mirror = SpriteEffects.None; this.Visible = true; this.Enabled = true; this.BlendingEffect = BlendFilters.AlphaBlending; }
internal void SetBlendFilter(BlendFilters filter) { if (filter != this.currentBlendFilter) { SpriteBatch.End(); SpriteBatch.Begin(0, BlendFactory.GetBlendState(filter)); currentBlendFilter = filter; } }
/// <summary> /// Traduce el valor de la enumeracion al filtro indicado. /// </summary> /// <param name="filter">Filtro de mezclado.</param> /// <returns>Instancia de BlendState con los parametros requeridos.</returns> internal static BlendState GetBlendState(BlendFilters filter) { switch (filter) { case BlendFilters.AlphaBlending: default: return(alpha); case BlendFilters.Aditive: return(aditive); case BlendFilters.Inverse: return(inverse); case BlendFilters.XOR: return(xor); case BlendFilters.TextSmothRendering: return(text); case BlendFilters.Custom: return(custom); } }
/// <summary> /// Inicializa la clase. /// </summary> /// <remarks>Se inicializa desde la clase Manager.</remarks> internal Render() { // Creamos una textura base de 1x1 de color blanco que sera utilizada por las operaciones de dibujo de primitivas: DummyTexture = new Texture2D(Manager.GameInstance.GraphicsDevice, 1, 1); DummyTexture.SetData(new Color[] { Color.White }); ClearColor = Color.CornflowerBlue; SpriteBatch = new SpriteBatch(Manager.GraphicsDevice); Textures = new Dictionary <string, Texture2D>(); Fonts = new Dictionary <string, SpriteFont>(); OffSet = Vector2.Zero; BlendFactory.Initialize(); currentBlendFilter = BlendFilters.AlphaBlending; IsShaderActive = false; }