Buonanotte.
Ho un problemino: devo disegnare la sprite cerchio.bmp (un cerchio rosso su fondo nero) sopra un'immagine sfondo.jpg che riempe tutta la finestra grafica, in modo che si veda solo il cerchio e non anche il quadrato nero. Ho provato ad usare l'overload s.Begin() senza parametri ma si vede il quadrato nero con dentro il cerchio rosso; con l'overload mostrato nel codice, invece, riesco a "trasparire" correttamente il quadrato nero ma il cerchio rosso mi diventa trasparente.
Sono tre giorni che studio la fusione dei colori ma qui l'unico che si sta fondendo sono io!
Quello che mi fa disperare è che in molti tutorials riescono a fare quello che vorrei fare io semplicemente col metodo Begin() senza parametri. Ma che razza di sprite usano?![]()
codice:using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace CiaoGabri { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager g; SpriteBatch s; Texture2D cerchio,sfondo; public Game1() { g = new GraphicsDeviceManager(this); g.PreferredBackBufferWidth = 1000 ; g.PreferredBackBufferHeight = 500; Content.RootDirectory = "Content"; } protected override void Initialize() { base.Initialize(); } protected override void LoadContent() { s = new SpriteBatch(GraphicsDevice); cerchio = Content.Load<Texture2D>("cerchio"); sfondo = Content.Load<Texture2D>("sfondo"); } protected override void UnloadContent() { } protected override void Update(GameTime t) { base.Update(t); } protected override void Draw(GameTime t) { GraphicsDevice.Clear(Color.Black); s.Begin(SpriteSortMode.Deferred, BlendState.Additive); s.Draw(sfondo,Vector2.Zero, Color.White); s.Draw(cerchio, Vector2.One*200, Color.White); s.End(); base.Draw(t); } } }