IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Visual Basic - Einfache geometrische Formen mit DirectDraw zeichnen



Einfache geometrische Formen mit DirectDraw zeichnen

Mit DirectDraw kann man nicht nur Text und Grafiken ausgeben, sondern auch einfache geometrische Formen. Wie das geht wird in diesem Artikel gezeigt.


Autor: Tobias Surmann (incsoft)
Datum: 19-04-2003, 17:27:28
Referenzen: keine
Schwierigkeit: Fortgeschrittene
Ansichten: 10798x
Rating: 10 (1x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Mit DirectDraw kann man nicht nur Text und Grafiken ausgeben, sondern auch einfache geometrische Formen, die man z. B. benutzen kann, um dem Spieler anzuzeigen, welche Spielfigur im Moment ausgewählt ist.

Rechteck



Das Rechteck ist die wohl meist benutzte geometrische Form in DirectDraw-Programmen. Um einen rechteckigen Bereich, z.B. ein Quadrat festzulegen, übergibt man der zuständigen Funktion namens DrawBox vier Parameter, welche die Punkte P1 und P2 bestimmen, wie in der Abbildung zu sehen ist.

Deklaration der DirectDrawSurface-Methode:

DDSurface.DrawBox(x1 As Long, y1 As Long, x2 As Long, y2 As Long)

DDSurface ist ein DirectDrawSurface7-Objekt.
x1 ist die X-Koordinate des oberen linken Punktes des Rechtecks.
y1 ist die Y-Koordinate des oberen linken Punktes des Rechtecks.
x2 ist die X-Koordinate des unteren rechten Punktes des Rechtecks.
y2 ist die Y-Koordinate des unteren rechten Punktes des Rechtecks.


Gerundetes Rechteck



Die Funktion DrawRoundedBox ist in gewisser Weise mit DrawBox verwandt. Allerdings sind die Ecken abgerundet. Daher werden zwei zusätzliche Parameter notwendig mit denen man die Breite (rw) und die Höhe (rh) der Rundung festlegen kann.

Deklaration der DirectDrawSurface-Methode:

DDSurface.DrawRoundedBox(x1 As Long, y1 As Long, x2 As Long, y2 As Long, rw As Long, rh As Long)

DDSurface ist ein DirectDrawSurface7-Objekt.
x1 ist die X-Koordinate des oberen linken Punktes des Rechtecks.
y1 ist die Y-Koordinate des oberen linken Punktes des Rechtecks.
x2 ist die X-Koordinate des unteren rechten Punktes des Rechtecks.
y2 ist die Y-Koordinate des unteren rechten Punktes des Rechtecks.
rw ist die Breite der Rundung.
rh ist die Höhe der Rundung.


Kreis



Ein Kreis wird in DirectDraw von der Funktion DrawCircle gezeichnet. Übergeben werden der Funktion drei Parameter mit welchen man den Mittelpunkt des Kreises (x1, y1) und den Radius (r) bestimmt.

Deklaration der DirectDrawSurface-Methode:

DDSurface.DrawCircle(x1 As Long, y1 As Long, r As Long)

DDSurface ist ein DirectDrawSurface7-Objekt.
x1 ist die X-Koordinate des Kreismittelpunkts.
y1 ist die Y-Koordinate des Kreismittelpunkts.
r ist der Radius des Kreises.


Ellipse



Natürlich kann man auch Ellipsen zeichnen. Die Funktionsparameter gleichen denen der DrawBox-Methode. Es gibt also einen Punkt P1 und einen Punkt P2, die die Ausmaße der Ellipse bestimmen. Diese Funktion wird z. B. im Spiel Starcraft verwendet, wobei eine grüne Ellipse um die markierten Einheiten gezeichnet wird.

Deklaration der DirectDrawSurface-Methode:

DDSurface.DrawEllipse(x1 As Long, y1 As Long, x2 As Long, y2 As Long)

DDSurface ist ein DirectDrawSurface7-Objekt.
x1 ist die X-Koordinate des oberen linken Punktes der Ellipse.
y1 ist die Y-Koordinate des oberen linken Punktes der Ellipse.
x2 ist die X-Koordinate des unteren rechten Punktes der Ellipse.
y2 ist die Y-Koordinate des unteren rechten Punktes der Ellipse.


Linie

Mit der letzten Zeichenfunktion, die ich hier vorstellen werde, sind wir in der Lage einfache Linien zu zeichnen. Auch die DrawLine-Funktion arbeitet mit zwei Punkten, nämlich Anfang (P1) und Ende (P2) der Linie. Mit Hilfe dieser Funktion kann man auch Dreiecke oder andere Polygone zeichnen.

Deklaration der DirectDrawSurface-Methode:

DDSurface.DrawLine(x1 As Long, y1 As Long, x2 As Long, y2 As Long)

DDSurface ist ein DirectDrawSurface7-Objekt.
x1 ist die X-Koordinate des Anfangspunkts der Linie.
y1 ist die Y-Koordinate des Anfangspunkts der Linie.
x2 ist die X-Koordinate des Endpunkts der Linie.
y2 ist die Y-Koordinate des Endpunkts der Linie.


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0