Разширено японско показване с помощта на персонализирани процесори за съдържание

Страницата се актуализира :
Дата на създаване на страница :

За японския дисплей

Текстът в МоноГаме използва спрайтфонт, както и XNA. За SpriteFont вижте Показване на букви и цифри и стил на шрифта, тъй като е същият като XNA.

Ако използвате SpriteFont, трябва да посочите символите, които искате да използвате предварително. Ако това е само буквено-цифрови символи, това може да стане с почти никакви разходи като спецификация на характера и време за изграждане, защото е около 100 знака, но когато става въпрос за японски, става хиляди герои, така че времето за изграждане става изключително дълго. Ако зададете само знаците, които ще се използват, времето за изграждане може да бъде съкратено до известна степен, но е обезпокоително да се посочи знакът, който ще се използва за обратно, и става още по-обезпокоителен, ако има промяна в символа, който да се използва.

В отговор на този проблем, сайт "Ninari GD"е персонализиран, за да Drawing Японски в XNA по-гладко (между другото, сайтът управлява юичи ито - MSFT е един от разработчиците на XNA рамка). Това улеснява определянето на знаците, които да използвате, да съкрати времето за изграждане, да украсявате знаци и др. За повече информация, моля, вижте линка.

WPF フォントプロセッサーで作成されたテキストの描画

Обаче "WPF шрифтов процесор" представени в страницата е за XNA и не може да се използва както е в MonoGame. Искам да го занеса на МоноГам.

Изтегляне на WPF процесор на шрифтове

Отворете следните сайтове:

ひにけにGD - 真・簡単(かもしれない)日本語表示

Превъртете надолу до две връзки и щракнете върху връзката по-горе, за да изтеглите проекта, който съдържа кода за сортиране. По-ниската е само DLL, така че не е нужно да го изтеглите.

プロジェクトをダウンロード

Извлечете изтегления файл, за да можете да извлечете съдържанието.

ダウンロードされたファイル

Създаване на WPF шрифт процесор проект

Бих искал да създам WPF шрифта DLL процесор, който работи с "Всеки процесор", но по някаква причина, когато създавам проект с "Библиотека за разширение на съдържание Pipeline" на XNA Framework, мога да го създам само в x86, така че ще го създам от редовна библиотека клас тук.

クラス ライブラリの作成

Когато създавате проект, не е нужно "Class1.cs", така че го изтрийте.

「Class1.cs」の削除

След това добавете препратка.

参照の追加

Тъй като сте начертали текст в WPF, ви е необходима препратка, свързана с WPF. Първо, проверете "Презентационния коре" от "Рамка".

「PresentationCore」にチェック

След това проверете "WindowsBase". Сега натиснете бутона OK, за да потвърдите и отворете отново диспечера на справки.

「WindowsBase」にチェック

Изберете Преглед вляво и кликнете върху бутона Преглед по-долу.

「参照」ボタンをクリック

Отворете следния път на папка:

  • C:\Програмни файлове(x86)\MSBuild\MonoGame\v3.0\Инструменти\

От там добавете следните два DLL файлове:

  • 1000000000000000000000
  • 1000000000000000000000000000000000

2つの DLL を追加

Уверете се, че е проверен и кликнете върху OK бутон.

チェックされていることを確認

Прегледайте добавените препратки.

追加された参照を確認

Добавете изходния код от папката "WpfFontPipeline" от проекта, който сте изтеглили в момента на проекта, който редактирате.

ソースコードを追加

Държавата, която добавихте.

追加した状態

Уверете се, че конфигурацията на компилацията е "Освобождаване" и "Всеки процесор".

ビルド構成が「Release」「Any CPU」になっていることを確認

Изпълнете компилация, за да видите дали е построена успешно.

ビルド結果

Dll е създаден.

DLL が作成されていることを確認

Създаване на игрален проект

Създайте проект за МоноГам. Няма значение каква платформа е.

MonoGame のプロジェクトを作成

Поставете DLL, който току-що сте създали в папката със съдържание. Няма значение къде е DLL, но в този случай ще ви трябва относителен или абсолютен път, така че ще го оставя тук засега.

 DLL を Content フォルダに配置

Отворете Content.mgcb и отворете Избрани препратки със съдържание.

Ако щракнете двукратно върху "Content.mmcb", за да не го отворите, започнете "MonoGame pipeline" от менюто "Старт".

References を開く

В текстовото поле въведете името на файла на DLL, който току-що сте създали, или пътя спрямо или абсолютен път от Content.mgcb.

След като го настроите, DLL все още не отразява, така че след като запишете проекта, излезте monoGame канал и го отворете отново.

DLL のファイル名を入力

Създава спрайт шрифт. Изберете "Редактиране" >Добавяне→ нов елемент от менюто.

スプライトフォントを作成

Изберете "СпрайтФонт Описание" измежду елементите, за да го добавите. (Между другото, след като добавих SpriteFont, отворих файла SpriteFont, за да се види по-лесно по време на изпълнение и промених името и размера на шрифта.)

「SpriteFont Description」を選択

Ако изберете SpriteFont, които сте добавили, ще видите, че WPF Font Processor е достъпен от процесора.

「WPF フォントプロセッサー」が選択できる

Тъй като всеки параметър може да бъде настроен, този път се опитах да го наглася, както е показано на фигурата за момента. За съжаление, не можете да промените цвета в текущата версия на 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 файла като текстов файл.

「.mgcb」ファイルをテキストファイルで開く

Ако превъртите надолу, в целевия параметър има информация за цвят, така че, моля, редактирайте го директно там.

色情報を直接編集

След като запишете текста, отворете отново monoGame Pipeline и го изградете. Можете да видите, че цветът е променен, когато го стартирате.

色変更したテキスト