Tampilan Jepang tingkat lanjut menggunakan prosesor konten khusus

Halaman Diperbarui :
Tanggal pembuatan halaman :

Tentang tampilan Jepang

Teks gambar dalam MonoGame menggunakan SpriteFont serta XNA. Untuk SpriteFont, lihat menampilkan karakter alfanumerik dan rincian gaya font, karena sama dengan XNA.

Jika Anda menggunakan SpriteFont, Anda harus menentukan karakter yang ingin Anda gunakan terlebih dahulu. Jika hanya simbol alfanumerik, itu bisa dilakukan dengan hampir tidak ada biaya sebagai spesifikasi karakter dan waktu membangun karena itu adalah tentang 100 karakter, tetapi ketika datang ke Jepang, itu menjadi ribuan karakter, sehingga waktu membangun menjadi sangat panjang. Jika Anda hanya menentukan karakter yang akan digunakan, waktu Build dapat dipersingkat sampai batas tertentu, tetapi merepotkan untuk menentukan karakter yang akan digunakan secara terbalik, dan itu menjadi lebih merepotkan jika ada perubahan dalam karakter yang akan digunakan.

Dalam menanggapi masalah ini, "Ninari GD"situs telah disesuaikan untuk membuat gambar Jepang di XNA lebih lancar (by the way, situs-Run Yuichi Ito-MSFT adalah salah satu pengembang XNA Framework). Hal ini membuat lebih mudah untuk menentukan karakter yang akan digunakan, mempersingkat waktu Build, menghias karakter, dan banyak lagi. Untuk informasi lebih lanjut, silakan merujuk ke link.

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

Namun, "WPF font prosesor" disajikan dalam halaman untuk XNA dan tidak dapat digunakan seperti dalam MonoGame. Jadi saya ingin Port ini untuk MonoGame.

Unduh WPF font Processor

Buka situs berikut:

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

Gulir ke dua link, dan klik link di atas untuk men-download proyek yang berisi kode Sortir. Yang lebih rendah hanya DLL, jadi Anda tidak perlu mengunduhnya.

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

Silakan ekstrak file yang didownload sehingga Anda dapat mengambil isinya.

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

Membuat WPF fon prosesor proyek

Saya ingin membuat WPF font prosesor DLL yang bekerja dengan "CPU apapun", tapi untuk beberapa alasan ketika saya membuat sebuah proyek dengan "Content Pipeline Extension Library" dari XNA Framework, saya hanya bisa membuatnya di x86, jadi saya akan membuatnya dari perpustakaan kelas biasa di sini.

クラス ライブラリの作成

Ketika Anda membuat sebuah proyek, Anda tidak perlu "Class1.cs", sehingga menghapusnya.

「Class1.cs」の削除

Selanjutnya, tambahkan referensi.

参照の追加

Karena Anda menggambar teks di WPF, Anda memerlukan referensi terkait WPF. Pertama, periksa "PresentationCore" dari "Framework".

「PresentationCore」にチェック

Selanjutnya, periksa "WindowsBase". Sekarang tekan tombol OK untuk mengkonfirmasi dan membuka manajer referensi lagi.

「WindowsBase」にチェック

Pilih browse di sebelah kiri dan klik tombol Browse di bawah ini.

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

Buka lintasan map berikut ini:

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

Dari sana, tambahkan dua dll berikut ini:

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

2つの DLL を追加

Pastikan itu dicentang dan klik tombol OK.

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

Tinjau referensi yang telah ditambahkan.

追加された参照を確認

Tambahkan kode sumber dari folder "WpfFontPipeline" dari proyek yang Anda download ke proyek yang sedang Anda edit.

ソースコードを追加

Negara bagian yang Anda tambahkan.

追加した状態

Verifikasi bahwa konfigurasi pembuatan adalah "Release" dan "CPU apa pun".

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

Lakukan Build untuk melihat apakah itu dibangun dengan sukses.

ビルド結果

DLL dibuat.

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

Buat proyek game

Buat proyek untuk MonoGame. Tidak peduli apa platform itu.

MonoGame のプロジェクトを作成

Tempatkan DLL yang baru saja Anda buat di folder content. Tidak peduli di mana DLL adalah, tetapi dalam hal ini Anda akan membutuhkan path relatif atau absolut, jadi aku akan meninggalkannya di sini untuk saat ini.

 DLL を Content フォルダに配置

Buka konten. mgcb dan buka referensi dengan konten yang dipilih.

Jika Anda mengklik dua kali "content. mmcb" untuk tidak membukanya, mulai "MonoGame Pipeline" dari menu mulai.

References を開く

Dalam kotak teks, ketik nama berkas DLL yang baru saja Anda buat, atau jalur relatif ke atau jalur absolut dari konten. mgcb.

Setelah Anda mengatur itu, DLL masih tidak mencerminkan, jadi setelah Anda menyimpan proyek, keluar monoGame pipa dan membukanya.

DLL のファイル名を入力

Membuat font sprite. Pilih "Edit" > tambah → item baru dari menu.

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

Pilih "SpriteFont Description" dari antara item untuk menambahkannya. (Kebetulan, setelah menambahkan SpriteFont, saya membuka file SpriteFont untuk membuatnya lebih mudah untuk melihat saat menjalankan dan mengubah nama font dan ukuran.)

「SpriteFont Description」を選択

Jika Anda memilih SpriteFont yang ditambahkan, Anda akan melihat bahwa WPF fon prosesor tersedia dari prosesor.

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

Karena setiap parameter dapat diatur, kali ini saya mencoba untuk mengaturnya seperti yang ditunjukkan pada gambar untuk saat ini. Sayangnya, Anda tidak dapat mengubah warna dalam versi MonoGame Pipeline.

各パラメータ設定

Cobalah untuk membangun. 6860 karakter yang dibangun karena itu termasuk hingga JIS tingkat 2. Namun, waktu adalah sekitar sembilan detik, sehingga Anda dapat melihat bahwa itu cukup cepat.

ビルド完了

Sekarang, kita menggambar menggunakan SpriteFont ini, dan kodenya persis sama dengan XNA. Anda dapat menggambar teks dengan menggunakan kode yang diperkenalkan di "tampilan karakter alfanumerik" seperti itu. Tentu saja, Jepang juga dimungkinkan.

Saya ingin menempatkan hanya kode yang saya tambahkan sekali.

Definisi bagian dari lapangan. "SpriteFont" telah ditambahkan.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

SpriteFont font;

Memuat dan membuat font data dalam metode 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");
}

Menggambar dengan bahasa Jepang dalam metode 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);
}

Ketika dieksekusi, teks ditarik. Ini agak sulit dimengerti, tetapi huruf-hurufnya memiliki batas dan gradasi biru di dalamnya.

Ini menjadi mudah untuk menarik Jepang seperti ini, dan menjadi mungkin untuk menarik karakter dengan dekorasi.

テキストの描画結果

Akhirnya, Anda tidak dapat mengubah warna dekorasi teks pada monoGame Pipeline, tetapi Anda dapat membuka file secara langsung dan memodifikasinya.

Setelah Anda menyimpan dan menutup proyek, buka file. MCCB sebagai file teks.

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

Jika Anda menggulir ke bawah, ada informasi warna dalam parameter target, jadi silakan Edit langsung di sana.

色情報を直接編集

Setelah menyimpan teks, buka monoGame Pipeline lagi dan membangunnya. Anda dapat melihat bahwa warna telah berubah ketika Anda menjalankannya.

色変更したテキスト