شاشة يابانية متقدمة باستخدام معالجات محتوى مخصصة
حول العرض الياباني
الرسم النص في MonoGame يستخدم SpriteFont وكذلك XNA. لSpriteFont، راجع عرض الأحرف الأبجدية الرقمية وتفاصيل نمط الخط، كما هو نفس XNA.
إذا كنت تستخدم SpriteFont، يجب تحديد الأحرف التي تريد استخدامها مسبقاً. إذا كان فقط الرموز الأبجدية الرقمية، يمكن أن يتم مع أي تكلفة تقريبا كمواصفات حرف وبناء الوقت لأنه حوالي 100 حرفا، ولكن عندما يتعلق الأمر اليابانية، يصبح الآلاف من الأحرف، بحيث يصبح وقت بناء طويلة للغاية. إذا قمت بتحديد الأحرف فقط التي سيتم استخدامها، يمكن اختصار وقت البناء إلى حد ما، ولكن من المزعج تحديد الحرف الذي سيتم استخدامه في الاتجاه المعاكس، ويصبح أكثر إزعاجًا إذا كان هناك تغيير في الحرف الذي سيتم استخدامه.
ردا على هذه المشكلة ، "نيناري GD"الموقع قد تم تخصيصها لجعل الرسم اليابانية في XNA أكثر سلاسة (بالمناسبة ، موقع تشغيل Yuichi إيتو -- MSFT هي واحدة من المطورين إطار XNA). وهذا يجعل من السهل تحديد الأحرف لاستخدام، تقصير وقت البناء، وتزيين الأحرف، وأكثر من ذلك. لمزيد من المعلومات، يرجى الرجوع إلى الرابط.
ومع ذلك، "معالج الخط WPF" المعروضة في الصفحة هو ل XNA ولا يمكن استخدامها كما هو في MonoGame. لذا أود أن أنفذ هذا إلى (مونجام)
تنزيل معالج الخط WPF
افتح المواقع التالية:
قم بالتمرير لأسفل إلى ارتباطين، وانقر فوق الارتباط أعلاه لتنزيل المشروع الذي يحتوي على رمز الفرز. أقل واحد هو فقط DLL، لذلك لم يكن لديك لتحميل البرنامج.
الرجاء استخراج الملف الذي تم تنزيله حتى تتمكن من استرداد المحتويات.
إنشاء مشروع معالج خط WPF
أود أن إنشاء WPF معالج الخط DLL الذي يعمل مع "أي وحدة المعالجة المركزية" ، ولكن لسبب ما عندما أقوم بإنشاء مشروع مع "مكتبة تمديد خط أنابيب المحتوى" من إطار عمل XNA ، لا أستطيع إلا أن إنشاء في x86 ، لذلك أنا سوف تخلق من مكتبة فئة عادية هنا.
عند إنشاء مشروع، لا تحتاج إلى "Class1.cs"، لذا احذفه.
بعد ذلك، إضافة مرجع.
لأنك ترسم نصًا في WPF، فأنت بحاجة إلى مرجع مرتبط بـ WPF. أولاً، تحقق من "PresentationCore" من "Framework".
بعد ذلك، تحقق من "قاعدة Windows". الآن اضغط على الزر موافق لتأكيد وفتح "إدارة المراجع" مرة أخرى.
حدد استعراض على اليسار وانقر على الزر استعراض أدناه.
فتح مسار المجلد التالي:
- C: \\ ملفات البرنامج (x86)\MSBuild\MonoGame\v3.0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\1998
من هناك، إضافة DLLs جهازي التالية:
- MonoGame.Framework.dll
- MonoGame.Framework.Content.Pipeline.dll
تأكد من أنه تم التحقق من وانقر فوق OK الزر.
راجع المراجع التي تمت إضافتها.
إضافة التعليمات البرمجية المصدر من المجلد "WpfFontPipeline" من المشروع الذي قمت بتحميله إلى المشروع الذي تقوم بتحريره حالياً.
الحالة التي أضفتها.
تحقق من أن تكوين البنية هو "الإصدار" و "أي وحدة المعالجة المركزية".
تنفيذ بناء لمعرفة ما إذا تم إنشاؤه بنجاح.
DLL هو الذي تم إنشاؤه.
إنشاء مشروع لعبة
إنشاء مشروع لـ MonoGame. لا يهم ما هو النظام الأساسي.
وضع DLL الذي قمت بإنشائه في المجلد Content. لا يهم حيث DLL ، ولكن في هذه الحالة ستحتاج إلى مسار نسبي أو مطلق ، لذلك سأتركه هنا في الوقت الحالي.
افتح Content.mgcb وفتح مراجع مع المحتوى المحدد.
إذا قمت بالنقر المزدوج فوق "Content.mmcb" لا فتحه، بدء تشغيل "خط أنابيب أحادية" من القائمة ابدأ.
في مربع النص، اكتب اسم الملف من DLL الذي قمت بإنشائه للتو أو المسار نسبة إلى أو مسار مطلق من Content.mgcb.
بعد إعدادها، DLL لا يزال لا يعكس، لذلك بمجرد حفظ المشروع، إنهاء خط أنابيب أحادية اللعبة ثم إعادة فتحه.
إنشاء خط العفريت. حدد "تحرير" >إضافة→ البند الجديد من القائمة.
حدد "وصف SpriteFont" من بين العناصر لإضافته. (وبالمناسبة، بعد إضافة SpriteFont، فتحت الملف SpriteFont لتسهيل الرؤية في وقت التشغيل وتغيير اسم الخط والحجم.)
إذا قمت بتحديد SpriteFont التي قمت بإضافته، سترى أن يتوفر معالج الخط WPF من المعالج.
منذ كل معلمة يمكن تعيين، هذه المرة حاولت تعيينها كما هو مبين في الشكل في الوقت الحاضر. لسوء الحظ، لا يمكنك تغيير اللون في الإصدار الحالي من خط أنابيب MonoGame.
حاول البناء تم بناء 6860 حرفا لأنها شملت ما يصل إلى مستوى JIS 2. ومع ذلك ، فإن الوقت حوالي تسع ثوان ، لذلك يمكنك أن ترى أنه سريع جدا.
الآن، نحن نرسم باستخدام هذا SpriteFont، ورمز هو بالضبط نفس XNA. يمكنك رسم نص باستخدام التعليمات البرمجية التي تم تقديمها في "عرض الأحرف الأبجدية الرقمية" كما هو. بالطبع، اليابانية ممكنة أيضا.
أود أن أضع فقط رمز التي أضفت مرة واحدة.
جزء التعريف من الحقل. "SpriteFont" تمت إضافته.
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);
}
عند تنفيذها، يتم رسم النص. من الصعب قليلاً فهمها، لكن الحروف لها حدود وتدرجات زرقاء في الداخل.
أصبح من السهل رسم اليابانية مثل هذا، وأصبح من الممكن رسم الحرف مع الديكور.
وأخيراً، لا يمكنك تغيير لون زخرفة النص على خط أنابيب أحادية اللون، ولكن يمكنك فتح الملف مباشرة وتعديله.
بمجرد حفظه وإغلاقه المشروع، افتح الملف .mccb كملف نصي.
إذا قمت بالتمرير لأسفل، هناك معلومات اللون في المعلمة الهدف، لذا يرجى تحريرها مباشرة هناك.
بعد حفظ النص، افتح خط أنابيب أحادية اللعبة مرة أخرى ثم قم ببناءه. يمكنك أن ترى أن اللون قد تغير عند تشغيله.