Ich habe ein altes XNA 3.1-Spiel mit einer 2D-Kamera, die ich vor kurzem zu XNA 4.0 konvertiert habe.
Ich hatte die Kamera-Zoom durch ein neues Ansichtsfenster erstellen, die Grenzen der Kamera Breite/Höhe einstellen, und dann irgendwie ‚Verschmelzung‘ sie wie folgt aus:XNA 3.0 zu 4.0 Umwandlung bewirkt, dass ein Ansichtsfenster 'Zusammenführen' schief geht
Viewport viewport = new Viewport();
viewport.X = 0;
viewport.Y = 0;
viewport.Width = camera.DisplayWidth;
viewport.Height = camera.DisplayHeight;
Viewport priorViewport = this.GraphicsDevice.Viewport;
this.GraphicsDevice.Viewport = viewport;
GraphicsDevice.Clear(Color.Black);
DrawGameLayer(gameTime, "PreContent");
this.GraphicsDevice.Viewport = priorViewport;
Wenn jedoch die Auflösung des neuen Ansichtsfenster als größer wird Die Auflösung des Grafikgeräts im Ansichtsfenster (auf einer Verkleinerung), dann blitzt es in Zeile 7 auf mit:
Das Ansichtsfenster ist ungültig. Das Ansichtsfenster darf nicht größer als der aktuellen Renderzielgrenzen sein. Die MinDepth und MaxDepth muss zwischen 0 und 1. Parametername: Wert
Das perfekt gearbeitet, aber offensichtlich nicht der richtige Weg, um Dinge jetzt zu tun. Gibt es eine gute Möglichkeit, dies schnell zu beheben? Oder bin ich fest daran, dass ich komplett verändern muss, wie ich ein- und auszoomt?