Im Gegensatz zu GameObject
-Instanzen werden HUD-Objekte in 2D platziert, so dass sie sich an den tatsächlichen Pixelkoordinaten des Monitors orientieren.
HUD-Objekte haben einen von zwei HUDObjectType
:
HUDObjectType.Image
oderHUDObjectType.Text
Sie werden idealerweise in den Prepare()
-Methoden Ihrer World
-Klassen hinzugefügt.
Beispiel 1: Text platzieren
public class GameWorld : World { private HUDObject _h; public override void Act() { if(_h.IsMouseCursorOnMe() == true) { _h.SetGlow(1, 0, 0, 1); } else { _h.SetGlow(0, 0, 0, 0); } } public override void Prepare() { // Platziere ein textbasiertes HUD-Objekt // 64 Pixel von links und 32 Pixel von oben auf dem Bildschirm: _h = new HUDObject(HUDObjectType.Text, 64, 32); _h.Name = "MyHUDObject"; // Interner Name des Objekts _h.SetText("Hello World!"); // Text, der angezeigt werden soll _h.CharacterSpreadFactor = 26; // Abstand zwischen Buchstaben (in Pixeln) AddHUDObject(_h); } }
Im obigen Beispiel wird ein HUDObject
im Feld _h
angelegt und mit einem anzuzeigenden Text belegt.
Anschließend wird es der aktuellen World
hinzugefügt.
In der Act()
-Methode wird dann für das Feld _h
geprüft, ob sich der Mauszeiger gerade über dem Objekt befindet. Wenn ja, fängt das Objekt an zu glühen.
Beispiel 2: Ein Bild platzieren
public class GameWorld : World { private HUDObject _h; public override void Act() { if(_h.IsMouseCursorOnMe() == true) { _h.SetGlow(1, 0, 0, 1); } else { _h.SetGlow(0, 0, 0, 0); } } public override void Prepare() { // Platziere ein textbasiertes HUD-Objekt // 64 Pixel von links und 32 Pixel von oben auf dem Bildschirm: _h = new HUDObject(HUDObjectType.Image, 64, 32); _h.Name = "MyHUDObject"; // Interner Name des Objekts _h.SetTexture(@".\textureFolder\myTexture.jpg"); // Anzuzeigendes Bild AddHUDObject(_h); } }
Im obigen Beispiel wird ein HUDObject
im Feld _h
angelegt und mit einem anzuzeigenden Bild belegt. Die Bilddatei muss in Visual Studio so konfiguriert sein, dass sie in das Ausgabeverzeichnis kopiert wird.
Anschließend wird es der aktuellen World
hinzugefügt.
In der Act()
-Methode wird dann für das Feld _h
geprüft, ob sich der Mauszeiger gerade über dem Objekt befindet. Wenn ja, fängt das Objekt an zu glühen.