การแสดงผลภาษาญี่ปุ่นขั้นสูงโดยใช้ตัวประมวลผลเนื้อหาที่กําหนดเอง

ปรับปรุงหน้า :
วันที่สร้างเพจ :

เกี่ยวกับญี่ปุ่นแสดง

การวาดข้อความใน MonoGame ใช้สปริทฟอนท์และ XNA สําหรับ SpriteFont ให้ดูการแสดงตัวอักษรและตัวเลขและรายละเอียดของลักษณะแบบอักษรเช่นเดียวกับ XNA

ถ้าคุณใช้ SpriteFont คุณต้องระบุอักขระที่คุณต้องการใช้ล่วงหน้า ถ้าเป็นเพียงสัญลักษณ์ตัวอักษรและตัวเลขก็สามารถทําได้ด้วยค่าใช้จ่ายเกือบจะไม่เป็นข้อกําหนดของตัวละครและสร้างเวลาเพราะมันเป็นเรื่องเกี่ยวกับ 100 ตัวอักษร แต่เมื่อมันมาถึงภาษาญี่ปุ่นก็จะกลายเป็นพันของตัวอักษรเพื่อให้เวลาสร้างกลายเป็นยาวมาก ถ้าคุณระบุเฉพาะอักขระที่จะใช้เวลาสร้างสามารถสั้นลงได้ในระดับหนึ่ง แต่ลําบากในการระบุอักขระที่จะใช้ในการย้อนกลับและมันจะกลายเป็นลําบากมากขึ้นหากมีการเปลี่ยนแปลงในอักขระที่จะใช้

ในการตอบสนองต่อปัญหานี้เว็บไซต์"Ninari GD"ได้รับการปรับแต่งเพื่อให้การวาดภาพภาษาญี่ปุ่นใน XNA ได้อย่างราบรื่นมากขึ้น (โดยวิธีการเว็บไซต์ที่เรียกใช้ Yuichi Ito - MSFT เป็นหนึ่งในนักพัฒนา XNA Framework) ทําให้ง่ายต่อการระบุตัวอักษรที่จะใช้, ลดเวลาการสร้าง, ตกแต่งตัวอักษร, และอื่น ๆ. สําหรับข้อมูลเพิ่มเติม โปรดดูที่ลิงค์

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

อย่างไรก็ตาม "ตัวประมวลผลแบบอักษร WPF" ที่นําเสนอในหน้าเว็บสําหรับ XNA และไม่สามารถใช้เป็นอยู่ใน MonoGame ดังนั้นฉันต้องการจะพอร์ตนี้ไปยัง MonoGame

ดาวน์โหลดตัวประมวลผลแบบอักษร WPF

เปิดไซต์ต่อไปนี้:

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

เลื่อนลงไปที่สองลิงค์และคลิกที่ลิงค์ด้านบนเพื่อดาวน์โหลดโครงการที่มีรหัสการเรียงลําดับ หนึ่งที่ต่ํากว่าเป็นเพียง DLL, ดังนั้นคุณจึงไม่ต้องดาวน์โหลดมัน.

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

กรุณาแยกไฟล์ที่ดาวน์โหลดมาเพื่อให้คุณสามารถดึงข้อมูลเนื้อหา

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

สร้างโครงการตัวประมวลผลแบบอักษร WPF

ฉันต้องการสร้าง WPF ประมวลผลตัวอักษร DLL ที่ทํางานร่วมกับ "CPU ใด ๆ" แต่ด้วยเหตุผลบางอย่างเมื่อฉันสร้างโครงการที่มี"ห้องสมุดขยายเนื้อหาท่อ"ของ XNA Framework ที่ฉันเท่านั้นสามารถสร้างได้ใน x86 ดังนั้นฉันจะสร้างมันจากห้องสมุดชั้นปกติที่นี่

クラス ライブラリの作成

เมื่อคุณสร้างโครงการ คุณไม่จําเป็นต้อง "Class1.cs" ดังนั้นให้ลบโครงการนั้น

「Class1.cs」の削除

ถัดไป ให้เพิ่มการอ้างอิง

参照の追加

เนื่องจากคุณวาดข้อความใน WPF คุณต้องมีการอ้างอิงที่เกี่ยวข้องกับ WPF ขั้นแรก ให้ตรวจสอบ "PresentationCore" จาก "กรอบงาน"

「PresentationCore」にチェック

ถัดไป, ตรวจสอบ "WindowsBase". ตอนนี้กดปุ่ม OK เพื่อยืนยันและเปิดตัวจัดการการอ้างอิงอีกครั้ง

「WindowsBase」にチェック

เลือก เรียกดู ทางด้านซ้าย แล้วคลิกปุ่ม เรียกดู ด้านล่าง

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

เปิดเส้นทางโฟลเดอร์ต่อไปนี้:

  • แฟ้มโปรแกรม (x86) \ MSBuild \ MonoGame \ v3.0 \\ เครื่องมือ

เพิ่ม DLL ที่สองต่อไปนี้:

  • 1000000000000000000
  • 10.000000000000000000000000000

2つの DLL を追加

ตรวจสอบให้แน่ใจว่ามีการตรวจสอบแล้ว และคลิกปุ่ม OK

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

ตรวจทานการอ้างอิงที่เพิ่ม

追加された参照を確認

เพิ่มรหัสแหล่งที่มาจากโฟลเดอร์ "WpfFontPipeline" จากโครงการที่คุณดาวน์โหลดไปยังโครงการที่คุณกําลังแก้ไขอยู่ในขณะนี้

ソースコードを追加

รัฐที่คุณเพิ่ม

追加した状態

ตรวจสอบว่า การตั้งค่าคอนฟิกการสร้างเป็น "นําออกใช้" และ "CPU ใด ๆ "

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

ดําเนินการสร้างเพื่อดูว่ามันถูกสร้างขึ้นเรียบร้อยแล้ว

ビルド結果

DLL ถูกสร้างขึ้น

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

สร้างโครงการเกม

สร้างโครงการสําหรับเกมส์ มันไม่สําคัญว่าแพลตฟอร์มคืออะไร

MonoGame のプロジェクトを作成

วาง DLL ที่คุณเพิ่งสร้างขึ้นในโฟลเดอร์เนื้อหา มันไม่สําคัญว่าที่ DLL เป็น แต่ในกรณีที่คุณจะต้องเส้นทางญาติหรือแน่นอนดังนั้นฉันจะปล่อยให้มันที่นี่สําหรับตอนนี้

 DLL を Content フォルダに配置

เปิด Content.mgcb และเปิดการอ้างอิงที่มีเนื้อหาที่เลือก

หากคุณคลิกสองครั้งที่ "Content.mmcb" เพื่อไม่เปิดให้เริ่ม "MonoGame ไปป์ไลน์" จากเมนูเริ่ม

References を開く

ในกล่องข้อความ ให้พิมพ์ชื่อไฟล์ของ DLL ที่คุณเพิ่งสร้างขึ้น หรือเส้นทางที่สัมพันธ์กับหรือเส้นทางสัมบูรณ์จาก Content.mgcb

หลังจากที่คุณตั้งค่า DLL ยังคงไม่สะท้อน ดังนั้นเมื่อคุณบันทึกโครงการ ออกจาก monoGame Pipeline และเปิดใหม่อีกครั้ง

DLL のファイル名を入力

สร้างแบบอักษรเทพดา เลือก "แก้ไข" (เพิ่ม→รายการใหม่จากเมนู

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

เลือก "คําอธิบายภาพสปริทFont" จากรายการที่จะเพิ่ม (บังเอิญหลังจากเพิ่ม SpriteFont ผมเปิดไฟล์ SpriteFont เพื่อให้ง่ายต่อการดูในขณะทํางานและเปลี่ยนชื่อตัวอักษรและขนาด.)

「SpriteFont Description」を選択

ถ้าคุณเลือกการ SpriteFont ที่คุณเพิ่ม คุณจะเห็นว่า ตัวประมวลผลแบบอักษร WPF จะพร้อมใช้งานจากตัวประมวลผล

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

เนื่องจากพารามิเตอร์แต่ละสามารถตั้งค่าเวลานี้ผมพยายามที่จะตั้งมันดังแสดงในรูปในขณะนี้ แต่น่าเสียดายที่คุณไม่สามารถเปลี่ยนสีใน MonoGame Pipeline รุ่นปัจจุบันได้

各パラメータ設定

พยายามที่จะสร้าง อักขระ 6860 ถูกสร้างขึ้นเนื่องจากรวมถึงระดับ JIS 2 แต่เวลาประมาณ 9 วินาที คุณจะเห็นว่ามันเร็วมาก

ビルド完了

ตอนนี้เรากําลังวาดภาพโดยใช้สปริทโฟนนี้และรหัสเป็นตรงเช่นเดียวกับ XNA คุณสามารถวาดข้อความโดยใช้รหัสที่นํามาใช้ใน"แสดงตัวอักษรและตัวเลข"ตามที่เป็นอยู่ แน่นอนว่าภาษาญี่ปุ่นก็เป็นไปได้เช่นกัน

ฉันต้องการที่จะใส่รหัสที่ฉันเพิ่มครั้งเดียว

ส่วนคํานิยามของฟิลด์ "สไปรท์ฟอนท์" ถูกเพิ่มเข้ามา

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

SpriteFont font;

กําลังโหลดและการสร้างข้อมูลแบบอักษรในวิธีการ 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");
}

วาดรูปด้วยภาษาญี่ปุ่นในวิธีการวาด

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

เมื่อดําเนินการข้อความจะถูกวาด มันยากที่จะเข้าใจแต่ตัวอักษรมีเส้นขอบและสีฟ้าไล่ระดับสีภายใน

มันกลายเป็นเรื่องง่ายที่จะวาดญี่ปุ่นเช่นนี้และมันเป็นไปได้ที่จะวาดตัวอักษรด้วยการตกแต่ง

テキストの描画結果

สุดท้ายคุณไม่สามารถเปลี่ยนสีของตกแต่งข้อความ monoGame Pipeline ได้ แต่คุณสามารถเปิดไฟล์ได้โดยตรงและแก้ไข

เมื่อคุณได้บันทึก และปิดโครงการแล้ว ให้เปิดแฟ้ม .mccb เป็นแฟ้มข้อความ

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

หากคุณเลื่อนลงมีข้อมูลสีในพารามิเตอร์เป้าหมายดังนั้นโปรดแก้ไขได้โดยตรง

色情報を直接編集

หลังจากบันทึกข้อความแล้ว ให้เปิด monoGame Pipeline อีกครั้งและสร้างข้อความนั้นขึ้นมา คุณจะเห็นว่าสีมีการเปลี่ยนแปลงเมื่อคุณเรียกใช้

色変更したテキスト