Разширено японско показване с помощта на персонализирани процесори за съдържание
За японския дисплей
Текстът в МоноГаме използва спрайтфонт, както и XNA. За SpriteFont вижте Показване на букви и цифри и стил на шрифта, тъй като е същият като XNA.
Ако използвате SpriteFont, трябва да посочите символите, които искате да използвате предварително. Ако това е само буквено-цифрови символи, това може да стане с почти никакви разходи като спецификация на характера и време за изграждане, защото е около 100 знака, но когато става въпрос за японски, става хиляди герои, така че времето за изграждане става изключително дълго. Ако зададете само знаците, които ще се използват, времето за изграждане може да бъде съкратено до известна степен, но е обезпокоително да се посочи знакът, който ще се използва за обратно, и става още по-обезпокоителен, ако има промяна в символа, който да се използва.
В отговор на този проблем, сайт "Ninari GD"е персонализиран, за да Drawing Японски в XNA по-гладко (между другото, сайтът управлява юичи ито - MSFT е един от разработчиците на XNA рамка). Това улеснява определянето на знаците, които да използвате, да съкрати времето за изграждане, да украсявате знаци и др. За повече информация, моля, вижте линка.
Обаче "WPF шрифтов процесор" представени в страницата е за XNA и не може да се използва както е в MonoGame. Искам да го занеса на МоноГам.
Изтегляне на WPF процесор на шрифтове
Отворете следните сайтове:
Превъртете надолу до две връзки и щракнете върху връзката по-горе, за да изтеглите проекта, който съдържа кода за сортиране. По-ниската е само DLL, така че не е нужно да го изтеглите.
Извлечете изтегления файл, за да можете да извлечете съдържанието.
Създаване на WPF шрифт процесор проект
Бих искал да създам WPF шрифта DLL процесор, който работи с "Всеки процесор", но по някаква причина, когато създавам проект с "Библиотека за разширение на съдържание Pipeline" на XNA Framework, мога да го създам само в x86, така че ще го създам от редовна библиотека клас тук.
Когато създавате проект, не е нужно "Class1.cs", така че го изтрийте.
След това добавете препратка.
Тъй като сте начертали текст в WPF, ви е необходима препратка, свързана с WPF. Първо, проверете "Презентационния коре" от "Рамка".
След това проверете "WindowsBase". Сега натиснете бутона OK, за да потвърдите и отворете отново диспечера на справки.
Изберете Преглед вляво и кликнете върху бутона Преглед по-долу.
Отворете следния път на папка:
- C:\Програмни файлове(x86)\MSBuild\MonoGame\v3.0\Инструменти\
От там добавете следните два DLL файлове:
- 1000000000000000000000
- 1000000000000000000000000000000000
Уверете се, че е проверен и кликнете върху OK бутон.
Прегледайте добавените препратки.
Добавете изходния код от папката "WpfFontPipeline" от проекта, който сте изтеглили в момента на проекта, който редактирате.
Държавата, която добавихте.
Уверете се, че конфигурацията на компилацията е "Освобождаване" и "Всеки процесор".
Изпълнете компилация, за да видите дали е построена успешно.
Dll е създаден.
Създаване на игрален проект
Създайте проект за МоноГам. Няма значение каква платформа е.
Поставете DLL, който току-що сте създали в папката със съдържание. Няма значение къде е DLL, но в този случай ще ви трябва относителен или абсолютен път, така че ще го оставя тук засега.
Отворете Content.mgcb и отворете Избрани препратки със съдържание.
Ако щракнете двукратно върху "Content.mmcb", за да не го отворите, започнете "MonoGame pipeline" от менюто "Старт".
В текстовото поле въведете името на файла на DLL, който току-що сте създали, или пътя спрямо или абсолютен път от Content.mgcb.
След като го настроите, DLL все още не отразява, така че след като запишете проекта, излезте monoGame канал и го отворете отново.
Създава спрайт шрифт. Изберете "Редактиране" >Добавяне→ нов елемент от менюто.
Изберете "СпрайтФонт Описание" измежду елементите, за да го добавите. (Между другото, след като добавих SpriteFont, отворих файла SpriteFont, за да се види по-лесно по време на изпълнение и промених името и размера на шрифта.)
Ако изберете SpriteFont, които сте добавили, ще видите, че WPF Font Processor е достъпен от процесора.
Тъй като всеки параметър може да бъде настроен, този път се опитах да го наглася, както е показано на фигурата за момента. За съжаление, не можете да промените цвета в текущата версия на MonoGame Pipeline.
Опитай се да построиш. 6860 знака са създадени, защото са включени до НИВО 2 на JIS. И все пак, времето е около девет секунди, така че можете да видите, че е доста бързо.
Сега, ние рисуваме с този СпрайтФонт, и кода е точно като XNA. Можете да чертаете текст, като използвате кода, въведен в "Показване на буквено-цифрови знаци", както е. Разбира се, японски също е възможно.
Бих искал да поставя само кода, който добавих веднъж.
Дефиницията на полето. Добавена е "СпрайтФонт".
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
SpriteFont font;
Зареждане и създаване на данни за шрифтове в loadContent метод.
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
// TODO: use this.Content to load your game content here
// フォントデータの読み込み
font = Content.Load<SpriteFont>("Font");
}
Рисуване с японски в метода Draw.
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
spriteBatch.Begin();
spriteBatch.DrawString(font, "真・簡単(かもしれない)日本語表示",
new Vector2(50, 50), Color.White);
spriteBatch.DrawString(font, @"・OpenTypeフォント対応
・処理速度の高速化
・JIS漢字追加機能
・文字装飾",
new Vector2(50, 150), Color.White);
spriteBatch.End();
base.Draw(gameTime);
}
При изпълнение текстът се изчертава. Трудно е да се разбере, но буквите имат граници и сини градинки.
Стана лесно да се направи японски по този начин, и стана възможно да се направи на героя с декорацията.
И накрая, не можете да промените цвета на декорацията на текста на monoGame Pipeline, но можете да отворите файла директно и да го промените.
След като сте записали и затвори проекта, отворете .mccb файла като текстов файл.
Ако превъртите надолу, в целевия параметър има информация за цвят, така че, моля, редактирайте го директно там.
След като запишете текста, отворете отново monoGame Pipeline и го изградете. Можете да видите, че цветът е променен, когато го стартирате.