Tampilan Jepang tingkat lanjut menggunakan prosesor konten khusus
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.
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:
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.
Selanjutnya, tambahkan referensi.
Karena Anda menggambar teks di WPF, Anda memerlukan referensi terkait WPF. Pertama, periksa "PresentationCore" dari "Framework".
Selanjutnya, periksa "WindowsBase". Sekarang tekan tombol OK untuk mengkonfirmasi dan membuka manajer referensi lagi.
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
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".
Lakukan Build untuk melihat apakah itu dibangun dengan sukses.
DLL dibuat.
Buat proyek game
Buat proyek untuk MonoGame. Tidak peduli apa platform itu.
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.
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.
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.
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.)
Jika Anda memilih SpriteFont yang ditambahkan, Anda akan melihat bahwa WPF fon prosesor tersedia dari prosesor.
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.
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.