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 können Instanzen der folgenden Klassen sein:
HUDObjectImage
oderHUDObjectText
Sie werden idealerweise in den Prepare()
-Methoden Ihrer World
-Klassen hinzugefügt.
Beispiel 1: Text platzieren
public class GameWorld : World { private HUDObjectText _h; public override void Act() { if(_h.IsMouseCursorOnMe() == true) { _h.SetGlowIntensity(1.5f); } else { _h.SetGlowIntensity(0.0f); } } public override void Prepare() { // Platziere ein textbasiertes HUD-Objekt: _h = new HUDObject("Hello World!"); _h.SetPosition(64, 32); // 64 Pixel von links und // 32 Pixel von oben auf dem Bildschirm _h.Name = "MyHUDObject"; // Interner Name des Objekts _h.SetCharacterDistanceFactor(1.0f); // Abstandsmultiplikator _h.SetColorGlow(1, 0, 0); AddHUDObject(_h); } }
Im obigen Beispiel wird ein HUDObjectText
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 HUDObjectImage _h; public override void Act() { if(_h.IsMouseCursorOnMe() == true) { _h.SetGlowIntensity(1.5f); } else { _h.SetGlowIntensity(0.0f); } } public override void Prepare() { // Platziere ein textbasiertes HUD-Objekt: _h = new HUDObjectImage(@".\textureFolder\myTexture.jpg"); _h.SetPosition(64f, 64f); // Position in Pixeln _h.Name = "MyHUDObject"; // Interner Name des Objekts _h.SetScale(128f, 128f); // Skalierung des Bildes AddHUDObject(_h); } }
Im obigen Beispiel wird ein HUDObjectImage
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.
Schreibe einen Kommentar