Предыдущая Следующая
Откройте проект Font и в классе Gamel объявите в области глобальных переменных новый объект font класса BitmapFont, который был добавлен нами в игру ранее:
BitmapFont font;
После объявления объекта его нужно создать. Сделать это можно в конструкторе класса Gamel .
font = new BitmapFont("Content\\Font\\russian.xml");
Создавая объект font в исходном коде приложения, вы автоматически загружаете файл XML, который регулирует загрузку шрифта в игру, а также определяет специфику вывода строк текста на экран. Если вы используете в игре несколько разных по размеру или языкам шрифтов, то вам необходимо создать несколько объектов класса BitmapFont и соответственно в каждый объект загрузить соответствующий файл XML.
После создания объекта font класса BitmapFont переходим к методу LoadGraphicsContent() и к загрузке в игру графического контента. В этом методе необходимо выполнить стандартную операцию (для класса BitmapFont) по выбору графического устройства.
font.Reset(graphics.GraphicsDevice);
На этом все операции по созданию объекта font класса BitmapFont окончены, и вы можете использовать методы этого класса для вывода любого текста на экран. Например, давайте нарисуем на экране строку текста. Сделаем это в тот момент, когда игрок нажимает на клавиатуре клавишу «Р», и выведем на экран
158 Подсчет очков и вывод текста на экран
Работа с текстом 159
слово «Пауза». Все, что связано с выводом на экран графики, пишется, как вы помните, в методе Draw() .
if(paused == true) {
font.DrawString(450, 300, Color.Black, "Пауза");
}
Метод DrawString() класса BitmapFont выводит на экран строку текста, где первые два параметра задают точку вывода по осям X и Y для левого верхнего угла прямоугольника, внутри которого пишется сам текст. Высота прямоугольника определяется автоматически высотой шрифта. Ширина прямоугольника также подстраивается под количество символов в строке, и эти действия за нас делает класс BitmapFont. Третий параметр закрашивает шрифт любым цветом на выбор, а последний параметр - это и есть строка текста, рисуемая на экране, которая будет замещаться буквами из графического изображения шрифта. Вот и все!
Чтобы вывести на экран цифры, необходимо использовать вот такую схему:
int fy = 245;
font.DrawString(Window.ClientBounds.Width - 95, fy, Color.Black, "{0}", scoreO);
font.DrawString(Window.ClientBounds.Width - 95, fy += font.LineHeight + 12, "{0}", scorel); Предыдущая Следующая
|