Paparan Jepun lanjutan menggunakan pemproses kandungan tersuai

Laman dikemaskini :
Tarikh penciptaan halaman :

Mengenai paparan Bahasa Jepun

Lukisan teks dalam MonoGame menggunakan SpriteFont serta XNA. Untuk SpriteFont, lihat memaparkan aksara alfanumerik dan butiran gaya fon, kerana ia adalah sama seperti xna.

Jika anda menggunakan SpriteFont, anda mesti menentukan aksara yang anda mahu gunakan terlebih dahulu. Jika ia hanya simbol alfanumerik, ia boleh dilakukan dengan hampir tidak ada kos sebagai spesifikasi aksara dan membina masa kerana ia adalah kira-kira 100 aksara, tetapi apabila ia datang kepada Jepun, ia menjadi beribu-ribu aksara, jadi membina masa menjadi sangat panjang. Jika anda menentukan hanya aksara yang akan digunakan, masa bina boleh dipendekkan sedikit setakat, tetapi ia menyusahkan untuk menentukan watak yang digunakan secara terbalik, dan ia menjadi lebih menyusahkan jika terdapat perubahan dalam watak yang akan digunakan.

Sebagai tindak balas kepada masalah ini, "Ninari Dynamic"tapak telah disesuaikan untuk membuat lukisan Jepun dalam xna lebih lancar (dengan cara, Yuichi ito tapak yang dikendalikan-MSFT adalah salah satu pemaju rangka xna). Ini menjadikan ia lebih mudah untuk menentukan aksara untuk digunakan, memendekkan masa membina, menghiasi watak, dan banyak lagi. Untuk maklumat lanjut, sila rujuk kepada pautan.

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

Walau bagaimanapun, "pemproses fon WPF" yang dibentangkan dalam laman adalah untuk XNA dan tidak boleh digunakan seperti berada dalam MonoGame. Jadi saya ingin pelabuhan ini untuk MonoGame.

Muat turun pemproses fon WPF

Buka tapak berikut:

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

Tatal ke bawah ke dua pautan, dan klik pautan di atas untuk memuat turun projek yang mengandungi kod Isih. Yang lebih rendah hanya satu DLL, jadi anda tidak perlu memuat turunnya.

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

Sila ekstrak fail yang dimuat turun supaya anda boleh mendapatkan semula kandungan.

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

Cipta projek pemproses fon WPF

Saya ingin mencipta satu pemproses fon WPF yang bekerja dengan "mana-mana CPU", tetapi untuk beberapa sebab apabila saya mencipta projek dengan "Perpustakaan sambungan saluran paip kandungan" daripada rangka kerja XNA, saya hanya boleh menciptanya dalam x86, jadi saya akan menciptanya dari Perpustakaan kelas tetap di sini.

クラス ライブラリの作成

Apabila anda mencipta projek, anda tidak perlu "Class1.cs", jadi memadamnya.

「Class1.cs」の削除

Seterusnya, tambah rujukan.

参照の追加

Kerana anda menarik teks di WPF, anda memerlukan rujukan yang berkaitan WPF. Pertama, semak "pengemukaan Ationcore" daripada "rangka kerja".

「PresentationCore」にチェック

Seterusnya, semak "WindowsBase". Sekarang tekan butang OK untuk mengesahkan dan membuka pengurus rujukan sekali lagi.

「WindowsBase」にチェック

Pilih layari di sebelah kiri dan klik butang semak imbas di bawah.

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

Buka laluan folder berikut:

  • C:\program files fail (x86) \MSBuild\MonoGame\v3.0\Tools\

Dari situ, tambah dua DLLs berikut:

  • MonoGame. rangka kerja. dll
  • MonoGame. rangka kerja. kandungan. saluran paip. dll

2つの DLL を追加

Pastikan ia disemak dan klik OK butang.

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

Semak semula rujukan yang telah ditambah.

追加された参照を確認

Tambah kod sumber dari folder "Wpffonttalian" dari projek yang anda muat turun ke projek yang sedang anda Edit.

ソースコードを追加

Negara yang anda tambah.

追加した状態

Sahkan bahawa konfigurasi bina "keluaran" dan "sebarang CPU".

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

Lakukan bina untuk melihat jika ia dibina dengan jayanya.

ビルド結果

DLL dicipta.

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

Cipta projek Permainan

Cipta projek untuk MonoGame. Tidak kira apa platform ia.

MonoGame のプロジェクトを作成

Letakkan DLL yang baru anda cipta dalam folder kandungan. Tidak kira di mana DLL, tetapi dalam kes itu, anda akan memerlukan laluan relatif atau mutlak, jadi saya akan meninggalkan di sini untuk sekarang.

 DLL を Content フォルダに配置

Buka kandungan. mgcb dan buka rujukan dengan kandungan yang dipilih.

Jika anda dwiklik "kandungan. MMCB" untuk tidak membukanya, mulakan "MonoGame paip" daripada menu mula.

References を開く

Dalam kotak teks, taipkan nama fail DLL yang baru anda buat, atau laluan relatif atau laluan mutlak daripada kandungan. mgcb.

Selepas anda menetapkan, DLL masih tidak mencerminkan, jadi sekali anda menyimpan projek, keluar talian paip monoGame dan membukanya semula.

DLL のファイル名を入力

Mencipta fon sprite. Pilih "Edit" > Tambah → item baru dari menu.

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

Pilih "Perihalan SpriteFont" daripada antara item untuk menambahnya. (Secara kebetulan, selepas menambah SpriteFont, saya membuka fail SpriteFont untuk menjadikannya lebih mudah untuk melihat pada masa berjalan dan menukar nama dan saiz fon.)

「SpriteFont Description」を選択

Jika anda memilih SpriteFont yang anda tambah, anda akan melihat bahawa pemproses fon WPF boleh didapati daripada pemproses.

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

Oleh kerana setiap parameter boleh ditetapkan, kali ini saya cuba untuk menetapkan seperti yang ditunjukkan dalam angka untuk masa itu. Malangnya, anda tidak boleh menukar warna dalam versi semasa saluran paip MonoGame.

各パラメータ設定

Cuba untuk membina. 6860 watak telah dibina kerana ia termasuk sehingga JIS tahap 2. Masih, masa adalah kira-kira sembilan saat, jadi anda boleh melihat bahawa ia cukup cepat.

ビルド完了

Sekarang, kita melukis menggunakan SpriteFont ini, dan kod adalah sama dengan XNA. Anda boleh menarik teks dengan menggunakan kod yang diperkenalkan dalam "Papar aksara abjad angka" kerana ia adalah. Sudah tentu, Jepun juga mungkin.

Saya mahu meletakkan hanya kod yang saya Tambah sekali.

Bahagian takrif bidang. "SpriteFont" telah ditambah.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

SpriteFont font;

Memuatkan dan mencipta data fon dalam kaedah 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");
}

Lukisan dengan Jepun dalam kaedah cabutan.

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

Apabila dilaksanakan, teks tersebut akan dikeluarkan. Ia sedikit sukar untuk difahami, tetapi Surat mempunyai sempadan dan pengampiran biru di dalam.

Ia menjadi mudah untuk menarik perhatian Jepun seperti ini, dan ia menjadi mungkin untuk menarik watak dengan hiasan.

テキストの描画結果

Akhir sekali, anda tidak boleh menukar warna hiasan teks pada saluran paip monoGame, tetapi anda boleh membuka fail secara langsung dan mengubahnya.

Sebaik sahaja anda telah menyimpan dan menutup projek itu, buka fail. mccb sebagai fail teks.

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

Jika anda menatal ke bawah, Terdapat maklumat warna dalam parameter sasaran, jadi sila mengeditnya secara langsung di sana.

色情報を直接編集

Selepas menyimpan teks, buka talian paip monoGame sekali lagi dan membina. Anda boleh melihat bahawa warna telah berubah apabila anda menjalankannya.

色変更したテキスト