|
||
Fortgeschrittene Zeichnungs-FunktionenDiese Funktionalität ist nur in der registrierten Version des Game Makers verfügbar.Weiter oben wurde eine Anzahl von einfachen Zeichnungs-Funktionen beschrieben. Hier findest du eine Anzahl von zusätzlichen Funktionen, die dir viel mehr Möglichkeiten bieten. Zuallererst gibt es Funktionen, um Formen mit Farbverläufen zu zeichnen. Dann gibt es Funktionen, um mehr gewöhnliche Polygone zu zeichnen, und schließlich gibt es die Möglichkeit, texturierte Polygone zu zeichnen. Die folgenden, erweiterten Versionen der einfachen Zeichnungs-Funktionen Funktionen existieren. Jede von ihnen erhält extra Farbparameter, die benutzt werden, um die Farbe an den verschiedenen Eckpunkten zu bestimmen. Die standard Zeichnungs-Farbe wird in diesen Funktionen nicht verwendet. draw_point_color(x, y, col1) Zeichnet einen Punkt bei (x|y) in der angegebenen Farbe. Du kannst auch größerer Primitives zeichnen. Dies funktioniert leicht anders. Du fängst an zu spezifzieren, welches Primitive du zeichnen möchtest. Als nächstes spezifizierst du die Eckpunkte für es, und schließlich beendest du das Primitive, bei welchem Moment es gezeichnet wird. Es gibt sechs Arten von Primitives: pr_pointlist Die Eckpunkte sind ein Satz von Punkten. Die folgenden Funktionen existieren für das Zeichnen von Primitives draw_primitive_begin(kind) Beginne ein Primitive des angegebenen Typs. Letzendlich ist es möglich, Primitives unter Verwendung von Sprites oder Hintergründen als Texturen zu zeichnen. Wenn eine Textur benutzt wird wird das Bild auf dem Primitive platziert, wobei es neugeformt wird um auf das Primitive zu passen. Texturen werden benutzt, um Details zu Primitives hinzuzufügen, wie z.B. eine Backsteinwand. Um Texturen zu benutzen, musst du zuerst die Id der Textur, die du benutzen möchtest, erhalten. Hierfür existieren die folgenden Funktionen: sprite_get_texture(spr, subimg) Gibt die Id der Textur dem Einzelbild subimg des angegebenen Sprites entsprechend wieder. Eine ausgewählte Textur muss sich noch nicht im in Videospeicher befinden. Das System wird sie dorthin legen, sobald du sie einmal brauchst, aber manchmal möchtest du dies selbst entscheiden. Für dies existieren die folgenden zwei Funktionen: texture_preload(texid) Legt die Textur sofort in den Videospeicher. Um Texturen zu Primitives hinzuzufügen, musst du spezifizieren, welche Teile der Texturen wo auf dem Primitive platziert werden müssen. Positionen in den Texturen werden mit Werten zwischen 0 und 1 angegeben, allerdings gibt es ein Problem hier. Größen von Texturen müssen Potenzen von 2 sein (also z.B. 32x32 oder 64x64). Wenn du Sprites oder Backgrounds als Texturen benutzen möchtest, gehst du besser sicher, dass sie eine solche Größe haben. Um herauszufinden welcher Teil der Textur tatsächlich benutzt wird kannst du die folgenden zwei Funktionen benutzen. Sie geben einen Wert zwischen 0 und 1 wieder, der die benutzte Breite/Höhe der Textur angibt. Das Spezifizieren dieses Wertes als Textur-Koordinate wird die rechte oder untere Seite der Textur angeben. texture_get_width(texid) Gibt die Breite der Textur mit der angegeben Id wieder. Die Breite liegt in dem Bereich von 0-1. Um texturierte Primitives zu zeichnen, kannst du die folgenden Funktionen benutzen: draw_primitive_begin_texture(kind, texid) Starte ein Primitive der angegebenen Art und der gegebenen Textur. Es gibt drei Funktionen, die beeinflussen, wie Texturen gezeichnet werden: texture_set_interpolation(linear) Gibt an, ob lineare Interpolation (true) benutzt oder ob der nächste Pixel genommen werden soll (false). Lineare Interpolation gibt sauberere Texturen, kann aber auch ein bisschen verwischen und kostet manchmal zusätzliche Zeit. Diese Einstellung beeinflusst auch das Zeichnen von Sprites und dem Hintergrund. Standard ist false. (Dies kann auch in den globalen Spiel Einstellungen geändert werden.) Es gibt zwei weitere Funktionen, die nicht nur nützlich zum Zeichnen von Texturen sind. Normalerweise werden Primitives mit dem Hintergrund überblendet durch Benutzung des Alpha-Wertes. Du kannst tatsächlich angeben, wie dies passieren muss. Neben dem normalen Modus ist es möglich, dass die neue Farbe von der existierenden Farbe addiert oder subtraiert werden muss. Dies kann benutzt werden um z.B. Spot- Lichter oder Schatten zu kreieren. Weiterhin ist es möglich, sozusagen das Maximum der neuen und der existierenden Farbe zu nehmen. Dies kann bestimmte Saturations-Effekte verhindern, die durch Addieren erhalten kannst. Beachte, dass beide, Subtraieren und Maximum, den Alpha-Wert nicht vollständig in Betracht ziehen. (DirectX erlaubt dies nicht.) Also gehst du besser sicher, dass das äußere Areal schwarz ist. Es gibt zwei Funktionen. Die erste gibt dir nur die vier oben beschriebenen Optionen. Die zweite Funktion gibt dir eine Menge mehr Möglichkeiten. Du solltest ein bisschen mit den Einstellungen expirimentieren. Wenn sie effektiv genutzt werden, können sie benutzt werden, um z.B. interessante Explosionen or Halo-Effekte zu kreieren. draw_set_blend_mode(mode) Gibt an, welcher Überblendungsmodus zu benutzen ist. Die folgenden Werte sind möglich: bm_normal, bm_add, bm_subtract, and bm_max. Vergiss nicht, den Modus nach Benutzung auf normal wieder zurückzusetzen, weil sonst auch andere Sprites und sogar Hintergründe mit dem neuen Überbledungsmodus gezeichnet werden. Das Zeichnen von texturierten Primitives ist ein bisschen Arbeit, kann aber zu großartigen Ergebnisen führen. Du kannst es sogar benutzen um vorgetäuschte 3D-Spiele zu machen. « Text | » |
||
|
||
|
Du kannst dieses Handbuch auch auf einer langen Seite (± 1.5 mb) ansehen.
Auch verfügbar in: ![]() Download helpfile
|
||





