Saya hanya ingin merender beberapa teks ke layar menggunakan:
- monogame 3.0
- MS Visual Studio 2010 C # Express
Di XNA, Anda dapat menambahkan font ke pipa konten dengan cukup mudah. Tapi sepertinya ini bukan kasus monogame. Memuat File TTF menggunakan Content<SpriteFont>.Load()
tidak berfungsi. Apakah ada cara untuk membuat atau mengunduh file * .spritefont atau * .xnb yang berisi data font (tanpa harus memasang XNA)?
Jawaban:
Alternatifnya adalah menggunakan font bitmap yang sudah dibuat sebelumnya. Berikut ini adalah tutorial yang saya tulis beberapa waktu lalu tentang penggunaan alat BMFont untuk memasukkan teks ke dalam game Anda menggunakan pustaka MonoGame.Extended .
http://dylanwilson.net/bmfont-rendering-with-monogame-extended
sumber
Saya mengalami masalah yang sama seperti Anda. Untungnya, saya memiliki proyek XNA yang sudah menggunakan file .spritefont, dan menghasilkan file XNB. Saya baru saja mengkompilasinya, dan menyalin XNB ke proyek MonoGame saya, dan saya dapat menggunakannya tanpa masalah.
(Penafian: Saya mencoba membangun pipa konten XNA untuk MonoGame 3.0 beta sesuai instruksi, dan setelah beberapa jam, saya menyerah; itu tidak akan memasukkan proyek dengan benar di Visual Studio.)
sumber
Setidaknya pada bulan Agustus tahun ini menghasilkan spritefonts belum didukung oleh MonoGame, namun pipa konten adalah fokus utama perhatian beberapa bulan terakhir jadi saya tidak akan terkejut jika itu berfungsi saat ini. Tentu saja Anda perlu mengetahui sintaks a
.spritefont
file yang perlu ditambahkan ke folder konten Anda. Untuk itu lihat bagian bawah posting ini.Sejauh yang saya tahu, bahkan sampai Agustus, memuat spritefonts yang sudah dikompilasi dari file XNB didukung. Karena Anda tidak ingin menginstal XNA untuk menghasilkan file XNB ini, Anda mungkin ingin memeriksa Proyek Compiler Konten XNA pada codeplex.
Ini adalah contoh
.spritefont
file sehingga Anda dapat melihat apakah itu saat ini didukungsumber
Anda sekarang dapat melakukan ini tanpa menginstal tambahan apa pun. Dalam proyek MonoGame baru Anda harus memiliki
Content.mgcb
file. Itu akan memunculkan aplikasi MonoGame Pipeline. Anda dapat mengklik kanan padaContent
simpul di pohon dan menambahkan item baru. Pilih `Deskripsi SpriteFont '. Itu akan dikompilasi dengan benar dan Anda harus dapat memuatnya dalam kode Anda.sumber
Lihat ini teman-teman, saya telah mengkompilasi file * .spritefont saya ke .xnb untuk digunakan di MonoGame, bagi saya, itu satu-satunya cara kerjanya.
Coba lihat, mungkin bisa membantu Anda juga. http://xnacontentcompiler.codeplex.com/
sumber
Alternatif terbaik adalah pre-generate font xnb melalui XNA terlebih dahulu kemudian gunakan saja di proyek Monogame untuk Windows Anda atau Anda bisa melakukan trik lama untuk mendapatkan Window. Tangani dan koordinat layar ScreenToClient lalu gunakan GDI untuk menggambar teks Anda dengan System.Drawing.dll.
sumber
Saya telah mengerjakan ini selama beberapa hari sekarang, mencoba untuk memperbaikinya dan akhirnya saya berhasil. Apa yang saya kerjakan adalah Windows8, VS2012, MonoGame. saya harus menambahkan bahwa ini adalah "monoGame Windows OpenGL Pjoject"
Biarkan saya membawa Anda melalui langkah-langkah yang telah saya ambil. 1. Saya menginstal monGame untuk VS2012 2. Saya menginstal WindowsPhone SDK8 3. Saya menginstal XNA 4.0 untuk VS2010 saya
Saya tidak tahu apakah semua langkah ini nessecery ....
Karena Anda tidak dapat menghasilkan .spritefont di vs2012 Saya membuat file spriteFont di vs2010 saya dan kemudian menambahkan saya ke proyek vs2012 saya .... TAPI itu tidak berhasil. Dan pagi ini saya melihat bahwa URL untuk file .spritefont itu salah. Ketika saya menambahkannya melalui solusi explorer..content -> tambahkan item yang ada ... maka urlnya salah .. "C: \ Users \ admin \ Documents \ Visual Studio 2012 \ Projects \ MyGame \ MyGame \ Content" ini adalah bukan di mana vs2012 di mana mencari file * .spritefot saya di sini ..--> "C: \ Users \ admin \ Documents \ Visual Studio 2012 \ Projects \ MyGame \ MyGame \ bin \ WindowsGL \ Debug \ Content" Saya menambahkan manully, dan WOW berhasil. saya menempelkan beberapa kode di sini sehingga Anda lebih baik dapat melihat apa yang telah saya lakukan .. di dalam kelas permainan saya, saya meletakkan variabel-variabel ini
dalam metode loadcontent saya autogenerated oleh VS adalah
dalam metode menggambar saya diautogenerasi oleh VS adalah
dan kemudian secara manual menambahkan file spritefont saya di folder kanan
Yang aneh adalah bahwa saya telah menambahkan gambar dengan cara ini dan telah berakhir di folder yang benar tetapi tidak * .spritefont, Anda harus menambahkan secara manual di folder kemudian untuk membuat saya bekerja ..
Saya berharap beberapa dari ini masuk akal bagi seseorang karena ini telah memberi saya sakit kepala terbesar dalam beberapa hari terakhir. Saya mungkin telah lupa beberapa langkah dan semua ini mungkin tidak berguna, tetapi saya berharap bahwa saya dapat meringankan sakit kepala untuk beberapa di luar sana
Dan saya harap monoGame akan diperbarui untuk memperbaiki masalah ini ...
sumber
Saya telah menggunakan XNB Builder untuk mengubahnya secara manual menjadi
.xnb
file. Cukup jalankan aplikasi, pilih file Anda dan itu akan mengubahnya menjadi file XNB yang siap digunakan dengan MonoGame.sumber