Меню сайта
Категории раздела
Разное
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Вторник, 14.05.2024, 14:29
Приветствую Вас Гость

Каталог статей

Главная » Статьи » Статьи » Разное

Как выводить русский шрифт в xna?

Как выводить русский шрифт в xna?

 

Во первых нужно добавить переменные

 

        //Для хранения шрифта

        SpriteFont font;

        //Для хранения позиции вывода текста

        Vector2 position;

        //Строка для вывода

        string txt;

        //Для нахождения центра строки

        Vector2 center;

 

Инициализировать надпись

 

            txt = "Russian Текст";

 

Загрузить xml файл шрифта, может быть любым, только не начинается на цифру.

С раширением spritefont. и обозначить позицию и центр текста в окне.

 

            //Загружаем шрифт

            font = Content.Load<SpriteFont>("Courier New");

            //Устанавливаем позицию вывода шрифта в центре экрана

            position = new Vector2(50,20);

            //Находим центр строки

            center = MyFont.MeasureString(OutString) / 2;

 

И вывести на экран в Draw

 

            spriteBatch.Begin();

            //Выводим строку

            spriteBatch.DrawString(font,

                txt, //также можно и в скобках написать текст "Russian Текст"

                position, // позиция текста, если указан центр то позиция центрально точки

                Color.Red)б // цвет текста, это минимум для вывода текста, остальные параметры метода не обязательны

                0, //угол поворота

                center, //

                1.0f, // масштаб

                SpriteEffects.None, // еффекты

                0); // слой

            spriteBatch.End();

 

DrawString содержит 6 способов вывести текст, Rectangle не имеет, но MyFont.MeasureString(OutString) возвращает нижнею правую точку.

position.X и position.Y соответствующие координаты.

 

xml файл добавляется в папку Content. Добавить -> Добавить элемент

и содержит следующее. Совет не удаляйте не чего добавьте только диапазон кириллических символов.

 

 

<?xml version="1.0" encoding="utf-8"?> //Кодировку - не вижу в ней смысла, но после php возникла привычка. как и все срекомендую utf-8 содержит все символы.

<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">

  <Asset Type="Graphics:FontDescription">

    <FontName>Courier New</FontName> // имя шрифта установленного в системе

    <Size>20</Size> // размер

    <Spacing>0</Spacing> // интервал между символами

    <UseKerning>true</UseKerning>

    <Style>Regular</Style> // стиль шрифта. Правильными являются "Regular", "Bold", "Italic", "Bold Italic".

    <CharacterRegions> // диапазоны символов Eng и Rus

      <CharacterRegion>

        <Start>&#32;</Start>

        <End>&#126;</End>

      </CharacterRegion>

      <CharacterRegion>

        <Start>&#1040;</Start>

        <End>&#1103;</End>

      </CharacterRegion>

    </CharacterRegions>

  </Asset>

</XnaContent>

 

Ну вот и все удачи в GameDev и прошу комментируйте

Категория: Разное | Добавил: admin (12.01.2012)
Просмотров: 3113
Форма входа
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz