Uzlabots japāņu valodas displejs, izmantojot pielāgotus satura procesorus

Lapa atjaunota :
Lapas izveides datums :

Par japāņu valodas displeju

Teksta zīmējums MonoGame izmanto SpriteFont, kā arī XNA. Informāciju par SpriteFont skatiet sadaļā Burtciparu rakstzīmju un fontu stila detaļu parādīšana, jo tā ir tāda pati kā XNA.

Ja izmantojat SpriteFont, ir jānorāda rakstzīmes, kuras vēlaties izmantot iepriekš. Ja tas ir tikai burtciparu simboli, to var izdarīt ar gandrīz bez maksas, kā rakstzīmju specifikācija un veidot laiku, jo tas ir aptuveni 100 rakstzīmes, bet, kad runa ir par japāņu, tas kļūst par tūkstošiem rakstzīmes, tāpēc veidot laiks kļūst ļoti garš. Ja norādāt tikai izmantojamās rakstzīmes, būvējuma laiku zināmā mērā var saīsināt, bet ir apgrūtinoši norādīt rakstzīmi, kas jāizmanto pretējā virzienā, un tas kļūst vēl apgrūtinošāks, ja mainās izmantojamā rakstzīme.

Atbildot uz šo problēmu, "Ninari GD"vietne ir pielāgota, lai zīmēšanas japāņu XNA vienmērīgāk (starp citu, site-run Yuichi Ito - MSFT ir viens no XNA Framework izstrādātājiem). Tas atvieglo lietojamo rakstzīmju norādīšanu, saīsinot būvējuma laiku, izrotājiet rakstzīmes un veicot citas darbības. Lai iegūtu vairāk informācijas, lūdzu, skatiet saiti.

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

Tomēr "WPF fontu procesors", kas iesniegts lapā ir XNA un to nevar izmantot, kā tas ir MonoGame. Tāpēc es gribētu port to MonoGame.

Lejupielādēt WPF fontu procesoru

Atveriet šīs vietnes:

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

Ritiniet uz leju līdz divām saitēm un noklikšķiniet uz saites iepriekš, lai lejupielādētu projektu, kurā ir kārtošanas kods. Zemākais ir tikai DLL, tāpēc jums nav lejupielādēt.

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

Lūdzu, izvelciet lejupielādēto failu, lai varētu izgūt saturu.

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

WPF fontu procesora projekta izveide

Es gribētu izveidot WPF fontu procesors DLL, kas darbojas ar "Jebkurš CPU", bet kādu iemeslu dēļ, kad es varu izveidot projektu ar "Content Pipeline Extension Library" no XNA Framework, es varu tikai izveidot to x86, tāpēc es ņemšu izveidot to no regulāras klases bibliotēka šeit.

クラス ライブラリの作成

Veidojot projektu, jums nav nepieciešams "Class1.cs", tāpēc izdzēsiet to.

「Class1.cs」の削除

Pēc tam pievienojiet atsauci.

参照の追加

Tā kā jūs izdarīt tekstu WPF, jums ir nepieciešams WPF saistītu atsauci. Vispirms pārbaudiet "PresentationCore" no "Framework".

「PresentationCore」にチェック

Pēc tam pārbaudiet "WindowsBase". Tagad nospiediet OK pogu, lai apstiprinātu un atveriet Reference Manager vēlreiz.

「WindowsBase」にチェック

Atlasiet Pārlūkot kreisajā pusē un noklikšķiniet uz pogas Pārlūkot.

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

Atveriet šo mapes ceļu:

  • C: \\ Program Files (x86) \\ MSBuild \\ MonoGame \\ v3.0 \\ Tools \\

No turienes, pievienojiet šādus divus DLL:

  • MonoGame.Framework.dll MonoGame.Framework.dll
  • MonoGame.Framework.Content.Pipeline.dll MonoGame.Framework.Content.Pipeline.dll

2つの DLL を追加

Pārliecinieties, ka tas ir pārbaudīts, un noklikšķiniet uz OK poga.

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

Pārskatiet pievienotās atsauces.

追加された参照を確認

Pievienojiet avota kodu no mapes "WpfFontPipeline" no projekta, kuru lejupielādējāt, lai projektā, kuru pašlaik rediģējat.

ソースコードを追加

Jūsu pievienotais stāvoklis.

追加した状態

Pārbaudiet, vai kompilācijas konfigurācija ir "Release" un "Jebkurš centrālais procesors".

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

Veiciet būvējumu, lai redzētu, vai tas ir veiksmīgi uzbūvēts.

ビルド結果

DLL ir izveidots.

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

Spēles projekta izveide

Izveidojiet projektu MonoGame. Tas nav svarīgi, kāda platforma tā ir.

MonoGame のプロジェクトを作成

Ievietojiet tikko izveidoto DLL mapē Saturs. Tas nav svarīgi, kur DLL ir, bet tādā gadījumā jums būs nepieciešams relatīvs vai absolūts ceļš, tāpēc es ņemšu atstāt to šeit tagad.

 DLL を Content フォルダに配置

Atveriet Content.mgcb un atveriet Atsauces ar atlasītu saturu.

Ja jūs dubultklikšķi uz "Content.mmcb", lai neatvērtu to, sākt "MonoGame Pipeline" no izvēlnes Sākt.

References を開く

Tekstlodziņā ierakstiet tikko izveidotā DLL faila nosaukumu vai ceļu, kas ir relatīvs attiecībā pret Content.mgcb vai absolūtais ceļš no tā.

Pēc tam, kad esat iestatījis to, DLL joprojām neatspoguļo, tāpēc, kad jūs saglabāt projektu, aizveriet monoGame konveijera un atveriet to.

DLL のファイル名を入力

Izveido sprite fontu. Izvēlieties "Edit" "Add→ New Item from menu.

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

Izvēlieties "SpriteFont Apraksts" no starp posteņiem, lai pievienotu to. (Starp citu, pēc pievienošanas SpriteFont, es atvēru SpriteFont failu, lai būtu vieglāk redzēt izpildes laikā un mainīja fonta nosaukumu un lielumu.)

「SpriteFont Description」を選択

Ja atlasāt Pievienoto SpriteFont, redzēsit, ka WPF fontu procesors ir pieejams no procesora.

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

Tā kā katru parametru var iestatīt, šoreiz es centos noteikt to, kā parādīts attēlā par laiku. Diemžēl, jūs nevarat mainīt krāsu pašreizējā versijā MonoGame Pipeline.

各パラメータ設定

Mēģināt veidot. Tika uzbūvētas 6860 rakstzīmes, jo tajā bija iekļauts līdz JIS 2. līmenim. Tomēr laiks ir apmēram deviņas sekundes, lai jūs varētu redzēt, ka tas ir diezgan ātri.

ビルド完了

Tagad mēs esam zīmēšanas, izmantojot šo SpriteFont, un kods ir tieši tāds pats kā XNA. Tekstu var zīmēt, izmantojot kodu, kas ieviests sadaļā "Rādīt burtciparu rakstzīmes", kā tas ir. Protams, japāņu ir iespējams arī.

Es gribētu likt tikai kodu, ka es pievieno vienu reizi.

Lauka definīcijas daļa. "SpriteFont" ir pievienots.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

SpriteFont font;

Fontu datu ielāde un izveide metodē 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");
}

Zīmēšanas ar japāņu metodi Zīmēt.

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);
}

Kad izpildīts teksts tiek zīmēts. Tas ir nedaudz grūti saprast, bet burti ir robežas un zilas gradācijas iekšā.

Tas kļuva viegli izdarīt japāņu kā šis, un kļuva iespējams izdarīt raksturs ar apdari.

テキストの描画結果

Visbeidzot, jūs nevarat mainīt krāsu teksta dekorēšanai uz monoGame Cauruļvads, bet jūs varat atvērt failu tieši un modificēt to.

Kad projekts ir saglabāts un aizvērts, atveriet .mccb failu kā teksta failu.

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

Ja jūs ritiniet uz leju, mērķa parametrā ir informācija par krāsu, tāpēc, lūdzu, rediģējiet to tieši tur.

色情報を直接編集

Pēc teksta saglabāšanas atkal atveriet monoGame cauruļvadu un izveidojiet to. Jūs varat redzēt, ka krāsa ir mainījusies, kad to palaižat.

色変更したテキスト