Digging in Bitmaps mit DirectDraw

In den späten 1970er und frühen 1980er Jahren, viele Spiele, wie zum Beispiel Heckschütze (Siehe Abbildung 1), verwendet Vektor-Grafik-Displays - Displays aus Linien. Nach einer Weile Rasteranzeigen, die Bitmaps zeichnen ersetzt alle Vektorgrafiken Spiele. Die Grundlage jeder 2-D und einige 3-D-Computerspielen ist die Bitmap, die eine 2-D-Matrix von farbigen Pixeln, die ein einzelnes Bild darstellt, wie Abbildung 2 zeigt.


Abbildung 1: Heckschütze, ein altes Spiel, das Vektorgrafiken verwendet.


Figur 2: Ein codiertes Bitmap.

Sie erreichen Animation durch eine Zeichnung oder mehrere Bitmaps eines Objekts und dann durch sie schnell spiegeln die Illusion von Bewegung oder Veränderung zu schaffen. Zum Beispiel 3 zeigt mehrere 56 x 72 Bitmaps eines skelett Kreatur Animation. Wenn Sie ein Programm schreiben, die jede dieser Bitmaps in schneller Folge zieht und dann bewegt sich die Bitmaps über den Bildschirm mit jedem Rahmen, wird das Skelett aussehen, als ob es geht. Das ist Animation.


Abbildung 3: Eine Bitmap-Animation eines Skeletts Kreatur.

Sie wollen in der Lage sein, Bitmaps auf dem sekundären oder primären Oberfläche überall zu laden und anzuzeigen. Dann benötigen Sie eine Software zu schreiben, die Bitmaps zu animieren, verschieben, überprüfen Kollision, und sie im Allgemeinen zu steuern, als ob sie Objekte im Spiel waren. Sie verwenden die blitter Bitmaps von einer Oberfläche zur anderen zu kopieren. (Das blitter ein Stück Hardware ist - oder vielleicht Software-Emulation -, dass Kopien von Bitmaps von einer Quelle zu einem gewissen Ziel) Aber was ist das Erstellen und die Bitmaps zu laden.?

Erstellen von Bitmaps

Bitmaps zu schaffen, ist eher eine künstlerische Sache als alles andere, aber die Grundidee ist es, ein Malprogramm zu verwenden - Jasc Paint Shop Pro, Corel PHOTO-PAINT, und so weiter - Ihre Bitmaps zu zeichnen. Darüber hinaus zeichnen Sie Ihre Bitmaps mit einer gewissen Reihe von Konventionen, so dass die Bitmaps leicht geladen werden können und manipuliert werden können. Die meisten Spieleprogrammierer wie ihre Bitmaps in Vorlagen zu zeichnen.

Figur 4 zeigt eine Standard-8-x-8-Pixel-Bitmap-Muster: eine Anzahl von 2 x 2 Rechtecke (Zellen), die jeweils einen 8-x-8-Pixel-Bitmap enthält. Die Rechtecke sind wie Platzhalter, also wenn Sie jedes Ihrer Bitmaps in die Rechtecke zeichnen und dann jede der Bitmaps aus den Rechtecken laden, werden Sie eine Reihe von Bitmaps alle die gleiche Größe mit der gewünschten Bilder in haben. Darüber hinaus können Sie jede Zelle oder Bitmap mit einem Paar von Koordinaten (cx, cy) zuzugreifen, die der linken oberen Ecke jeder Zelle ist.


Abbildung 4: Ein 8-x-8-Pixel-Vorlage mit 2 x 2-Zellen und 1-Pixel breiten Wänden.

Hier sind einige Dinge, vorsichtig zu sein, wenn Sie Bitmaps erstellen möchten:

  • Farbe: Sie müssen entscheiden, wie viele Farben Ihre Bitmaps haben wird und sie dann alle in der gleichen Farbraum ziehen. Zum Beispiel, wenn Sie eine 8-Bit-256-Farben-Modus verwenden möchten, müssen Sie alle Ihre Bitmaps mit dem gleichen 256-Farben-Palette ziehen - Sie können nicht eine Palette für die guten Jungs und eine für die bösen Jungs benutzen können! Und falls Sie 16 Bit pro Pixel zu verwenden entscheiden, Ihre Bitmaps zu zeichnen, werden alle Bitmaps müssen in 16 Bit pro Pixel sein. Eine Kreatur kann nicht 24 Bit pro Pixel verwenden. Denken Sie daran, das Spiel nur in einem einzigen Video-Modus laufen, und alle Grafiken und Bitmaps müssen in der gleichen Art und Weise angezeigt werden.
  • Größe: Zeichnen Sie alle Ihre Bitmaps in Größen, die Kräfte sind von 2 - 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32, und so weiter. Im Anschluss an diese Leitlinie hilft bei der blitter und mit verschiedenen Optimierungen, die Sie in Ihre Spiele durchführen. Sie müssen nicht quadratisch sein, sondern jede Achse sollte eine Potenz von zwei 8 x 16 ist in Ordnung, aber 7 x 5 nicht.
  • Wenn Sie eine Seite von Bitmaps zu erstellen, verwenden die gleiche Größe für alle bitmaps- nicht mischen unterschiedliche Größen auf verschiedenen Seiten. Angenommen, dass Sie eine große, 800 x 600 Bitmap-Bild in Ihrem Malprogramm machen. Sie werden alle Bitmaps 32-x-32-Pixel auf diesem einzigen Bild in einer schönen Vorlage zu setzen, die, sagen wir hat, 16 x 16 Zellen, wie Abbildung 5 zeigt. Sie erkennen dann, dass Sie etwas Platz haben auf dem Bild links vorbei - eine Gruppe von 4-x-4-Pixel-Bilder passen. Nicht eine gute Idee! So stellen Sie ein weiteres großes Bitmap die kleineren Bitmaps und für alle anderen Größen zu halten, die Sie haben können. Sie nicht Ihre Bitmap-Formaten auf einem einzigen Bildseite mischen.

Abbildung 5: Eine große, 32 x 32 Bitmap-Vorlage mit zusätzlichen Platz.

Wenn Sie ein Detail-orientierte Person (oder wenn Sie auf Ihrem fünften Mountain Dew sind), sollten Sie erkennen, dass, wenn die Bitmaps 32 x 32 sind, beispielsweise umschließt die Zellen sie 34 x 34 jeweils sein und über eine gemeinsame Wand (1 Pixel dick). Das ist ein wichtiger Punkt, wenn Vorlagen zu bauen.

So erstellen Sie einen oder mehrere große Bitmap-Dateien, die Ihre Bilder für Ihr Spiel enthalten. Sie kann eine Datei, die alle Schiffe hat, eine andere, die die Explosionen hat, eine andere, die das Gelände hat, und so weiter. Dann laden Sie alle Bitmaps in den Speicher und mit Programmcode, zeigen die Bitmaps, wann und wo sie eigentlich sind zu erscheinen.

Menü