C# SpriteBatch.Begin(..) 2D-Translation -> leeres Fenster
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
code
effekt
farbe
fehler
garnichts
helfen
klasse code
kleinen rechtecke
kommentar
leute
matrix
methode
null
nutz
programm
set
standard
standardeinstellungen
transparenz
zutun
-
Hey Leute!
Ich hab hier einen Codeschnipsel aus meinem C#/XNA Programm und finde den Fehler nicht.
Draw-Methode in der Game-Klasse
device.Clear(Color.Blue); Matrix m = new Matrix(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); //Funktioniert nicht: batch.Begin(SpriteSortMode.Immediate, BlendState.Additive, new SamplerState(), new DepthStencilState(), new RasterizerState(), null, m); //Funktioniert: //batch.Begin(); Console.WriteLine(world.Cam.GetMatrix()); Texture2D stone = new Texture2D( device, 2, 2, false, SurfaceFormat.Color); Color[] colors = new Color[2 * 2]; for (int i = 0; i < colors.Length; i++) { colors[i] = (Color.Black); } // Set the color data for the texture stone.SetData(colors); Primitives p = new Primitives(); for (int i = -100; i < 100; i++) for (int j = -100; j < 100; j++) batch.Draw(stone, new Vector2(200 + i * 100, 300 + j * 100), null, Color.Black, 0f, Vector2.Zero, new Vector2(10, 10), SpriteEffects.None, 0f); batch.End();
Ich erstell eine Translationsmatrix. Die sollte eigentlich erstmal nichts machen. ist ja die Einheitsmatrix. Gut, wenn ich sie mit den Standardeinstellungen für Effekte etc. ins begin setze seh ich garnichts mehr. Der Standard-Begin funktioniert.
Wenn ich begin() nutze, kann ich meine kleinen Rechtecke sehen, die ich unten zeichne.
Einen sehr ähnlichen Code hab ich schonmal verwendet und eigentlich auch weitesgehend übernommen. Ich finde aber den Fehler nicht.
Könnt ihr mir helfen? Irgendetwas hab ich übersehen..
KOMMENTAR:
Es scheint etwas mit Transparenz zutun zu haben. Wenn andere Farben gemalt werden, werden die Dinge doch richtig angezeigt. Wo wird denn hier die Transparenz erzeugt?
Beitrag zuletzt geändert: 14.5.2012 12:10:19 von s1m13 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage