Paparan Jepun lanjutan menggunakan pemproses kandungan tersuai
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.
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:
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.
Seterusnya, tambah rujukan.
Kerana anda menarik teks di WPF, anda memerlukan rujukan yang berkaitan WPF. Pertama, semak "pengemukaan Ationcore" daripada "rangka kerja".
Seterusnya, semak "WindowsBase". Sekarang tekan butang OK untuk mengesahkan dan membuka pengurus rujukan sekali lagi.
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
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".
Lakukan bina untuk melihat jika ia dibina dengan jayanya.
DLL dicipta.
Cipta projek Permainan
Cipta projek untuk MonoGame. Tidak kira apa platform ia.
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.
Buka kandungan. mgcb dan buka rujukan dengan kandungan yang dipilih.
Jika anda dwiklik "kandungan. MMCB" untuk tidak membukanya, mulakan "MonoGame paip" daripada menu mula.
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.
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.)
Jika anda memilih SpriteFont yang anda tambah, anda akan melihat bahawa pemproses fon WPF boleh didapati daripada pemproses.
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.
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.