ProfilProfil
 Registrieren
 Login
Bild der WocheBild der Woche

(von Backslider)
Kommentare (0)
****

Weitere
User onlineBenutzer online
Gäste online: 9
Mitglieder online: Keine
Registrierte Mitglieder: 2117
Neustes Mitglied: vitapen

Text zeichnen

Autor: SteveKr

Inhaltsverzeichnis

  1. Einleitung
  2. Zeichnen
  3. Abschluss

^ Einleitung


In diesem Tutorial wird gezeigt, wie man mit XNA Texte zeichnet.

Seit Version 1.0 Refresh gibt es in XNA die Möglichkeit Texte zu zeichnen. Dazu muss man zu allererst eine SpriteFont-Datei zu seinem Projekt hinzufügen. Dazu klickt man mit der rechten Maustaste auf das Content-Projekt und wählt "Hinzufügen|Neues Element...". Im anschließend erscheinenden Dialog wählt man das SpriteFont-Element aus und wählt als Namen die gewünschte Schriftart.


Bild 1: Hinzufügen einer neuen Font-Beschreibungs-Datei


Wie sich beim Betrachten der Datei herausstellt handelt es sich dabei lediglich um eine XML-Datei, in der Font, die Schriftgröße, Schrifteffekte (Fett, Kursiv, Unterstrichen), Buchstabenabstand und die zu verwendenden Zeichen angegeben werden. Anhand dieser Daten erstellt XNA dann den entsprechenden Bitmap Font.
Damit auch die deutschen Umlaute verwendet werden können muss man das Zeichenspektrum um die entsprechenden Zeichen erweitern. Am schnellsten geht das wenn man den Endwert einfach auf 255 setzt, damit sind dann auch unter anderem die gewünschten Umlaute mit von der Partie.
<CharacterRegions>
  <CharacterRegion>
    <Start>&#32;</Start>
    <End>&#255;</End>
  </CharacterRegion>
</CharacterRegions>


^ Zeichnen


Nun, wo die SpriteFont-Datei besteht können wir in der Game-Klasse ein SpriteFont-Objekt erstellen in dem unser Font dann abgelegt werden soll.
SpriteFont font;

Anschließend laden wir den SpriteFont in der LoadContent-Methode und weisen ihn unserem Objekt zu.
font = Content.Load<SpriteFont>("Arial");

Das eigentliche Zeichnen erledigt die altbekannte SpriteBatch-Klasse, die eine Methode mit dem Namen DrawString bereitstellt, der wir das gewünschte SpriteFont-Objekt übergeben müssen. Ansonsten hat die Methode große Ähnlichkeit mit der Draw-Methode, weshalb an dieser Stelle auch auf das Sprite-Tutorial verwiesen wird, in dem ausführlich die weiteren Möglichkeiten, wie Rotation, beschrieben werden.
spriteBatch.DrawString(font, "Hallöchen Welt!", new Vector2(20, 20), Color.Blue);


Bild 2: Blauer Text mit Umlauten



^ Abschluss


Sollte es Fragen oder Verbesserungsvorschläge direkt zum Tutorial geben, können diese direkt im entsprechenden Forumsthread geäußert werden.

Infos

Name: Text zeichnen
Autor: SteveKr
Kommentare: Thread