ich sitze gerade an einem kleinen Spielprojekt in Visual C#. Und zwar will ich folgendes im Moment erst einmal realisieren:
Ich möchte ein Spielbrett mit Spielfeldern und eine Figur, die sich darauf bewegt.
Meine bisherige Lösung:
Das Spielbrett hat eine Bitmap als Hintergrund. Der Hintergrund ist 1000x800 Pixel. Die einzelnen Spielfelder auf diesem Hintergrund sind ebenfalls Bitmaps mit jeweils einer Größe von 50x50 Pixel.
Aus dem Hintergrund erstelle ich mir ein Graphics-Objekt und auf dieses zeichne ich dann wiederum die einzelnen Spielfelder.
Beispielcode:
...Bitmap hintergrund =newBitmap("Bitmaps\\hintergrund.bmp");//Bitmap erstellen...Graphics g =Graphics.FromImage(hintergrund);//Graphics Objekt erzeugen...//Dann erfolgt eine Überprüfung welches Spielfeld gezeichnet werden soll...//Beispielhaftes Zeichnen eines Feldes, x und y werden vorher berechnetFeld feld =newFeld();Bitmap feldBitmap = feld.getFeldBitmap();
g.DrawImage(feldBitmap, x, y, feldBitmap.Width, feldBitmap.Height);...
g.Dispose();
Das Zeichnen der Spielfelder funktioniert soweit auch. Ich habe am Ende ein Spielbrett genau so wie ich es erstellen wollte.
Nun wollte ich Figuren auf das Spielbrett zeichnen.
Dabei gehe ich genauso vor wie oben. Ich nehme als Hintergrund das erstellte Spielbrett und möchte nun statt Feldern eben Figuren mit 50x50 Pixel darauf malen. Das Zeichnen an sich funktioniert soweit auch.
Das einzige Problem ist, dass die Größen trotz gleicher Pixel nicht übereinstimmen. Die Figur ist viel kleiner als ein Spielfeld, obwohl beide 50x50 Pixel groß sind. Wenn ich mir jedoch die Größen auf der Konsole ausgeben lasse, stimmen alle. Ich habe dann mal einen Screenshot von dem Spielfeld gemacht und festgestellt, dass das Brett viel breiter ist als die 1000 Pixel. Beim Ausführen ist es ca. 1500 Pixel breit, aber ich weiß wirklich nicht weshalb. Die Größen werden immer korrekt ausgegeben. 1000x800 für den HIntergrund, 50x50 für die Felder und die Figuren. Aber irgendwo scheint Visual Studio das hoch zu skalieren.
Hat jemand eine Idee wo das passieren könnte und weshalb?
Frage
Schneeherz
Hallo zusammen,
ich sitze gerade an einem kleinen Spielprojekt in Visual C#. Und zwar will ich folgendes im Moment erst einmal realisieren:
Ich möchte ein Spielbrett mit Spielfeldern und eine Figur, die sich darauf bewegt.
Meine bisherige Lösung:
Das Spielbrett hat eine Bitmap als Hintergrund. Der Hintergrund ist 1000x800 Pixel. Die einzelnen Spielfelder auf diesem Hintergrund sind ebenfalls Bitmaps mit jeweils einer Größe von 50x50 Pixel.
Aus dem Hintergrund erstelle ich mir ein Graphics-Objekt und auf dieses zeichne ich dann wiederum die einzelnen Spielfelder.
Beispielcode:
Das Zeichnen der Spielfelder funktioniert soweit auch. Ich habe am Ende ein Spielbrett genau so wie ich es erstellen wollte.
Nun wollte ich Figuren auf das Spielbrett zeichnen.
Dabei gehe ich genauso vor wie oben. Ich nehme als Hintergrund das erstellte Spielbrett und möchte nun statt Feldern eben Figuren mit 50x50 Pixel darauf malen. Das Zeichnen an sich funktioniert soweit auch.
Das einzige Problem ist, dass die Größen trotz gleicher Pixel nicht übereinstimmen. Die Figur ist viel kleiner als ein Spielfeld, obwohl beide 50x50 Pixel groß sind. Wenn ich mir jedoch die Größen auf der Konsole ausgeben lasse, stimmen alle. Ich habe dann mal einen Screenshot von dem Spielfeld gemacht und festgestellt, dass das Brett viel breiter ist als die 1000 Pixel. Beim Ausführen ist es ca. 1500 Pixel breit, aber ich weiß wirklich nicht weshalb. Die Größen werden immer korrekt ausgegeben. 1000x800 für den HIntergrund, 50x50 für die Felder und die Figuren. Aber irgendwo scheint Visual Studio das hoch zu skalieren.
Hat jemand eine Idee wo das passieren könnte und weshalb?
Vielen Dank im Voraus!
Bearbeitet von SchneeherzLink zu diesem Kommentar
Auf anderen Seiten teilen
2 Antworten auf diese Frage
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.