صفحه نمایش پیشرفته ژاپنی با استفاده از پردازنده های محتوای سفارشی

صفحه به روز شده :
تاریخ ایجاد صفحه :

درباره نمایش ژاپنی

نقاشی متن در MonoGame از SpriteFont و همچنین XNA استفاده می کند. برای SpriteFont، 英数字を表示させる به نمایش کاراکترهای フォントスタイルの詳細 آلفاعددی و جزئیات سبک فونت، به عنوان همان XNA نگاه کنید.

اگر از SpriteFont استفاده می کنید، باید کاراکترهایی را که می خواهید از آن استفاده کنید، پیشاپیش مشخص کنید. اگر تنها نمادهای آلفاعددی باشد، می توان آن را با تقریباً بدون هزینه به عنوان یک مشخصه کاراکتر انجام داد و زمان ساخت را به دلیل اینکه حدود ۱۰۰ کاراکتر است، اما وقتی به ژاپنی می آید، هزاران کاراکتر می شود، بنابراین زمان ساخت به شدت طولانی می شود. اگر فقط کاراکترهایی را که باید استفاده شوند مشخص کنید، زمان ساخت می تواند تا حدی کوتاه شود، اما مشخص کردن کاراکتر ی که به صورت معکوس استفاده شود، دردسرسازتر است و اگر تغییری در کاراکتر وجود داشته باشد که مورد استفاده قرار گیرد، این کار حتی دردسرسازتر می شود.

در پاسخ به این مشکل، سایت "نینیری جی دی"سفارشی شده است تا ژاپنی های رسم شده در XNA را هموارتر بکنند (به هر حال، سایت اجرا شده Yuichi Ito - MSFT یکی از توسعه دهندگان XNA Framework است). این کار باعث می شود مشخص کردن کاراکترها برای استفاده، کوتاه کردن زمان ساخت، تزئین کاراکترها و بیشتر آسان تر شود. برای کسب اطلاعات بیشتر به لینک مراجعه نمایید.

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

با این حال ، "WPF پردازنده فونت" ارائه شده در صفحه برای XNA است و نمی تواند به عنوان در MonoGame استفاده می شود. بنابراین من می خواهم به پورت این به MonoGame.

دانلود WPF پردازنده فونت

-باز کردن سایت های زیر:

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

به دو لینک پایین بروید، و لینک بالا را کلیک کنید تا پروژه ای که حاوی کد مرتب سازی است را دانلود کنید. پایین تر فقط DLL است، بنابراین شما لازم نیست آن را دانلود کنید.

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

لطفاً فایل دانلود شده را استخراج کنید تا بتوانید محتویات را بازیابی کنید.

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

ایجاد یک پروژه پردازشگر فونت WPF

من می خواهم برای ایجاد یک DLL پردازنده فونت WPF که با "هر پردازنده" کار می کند، اما به دلایلی وقتی من یک پروژه با "محتوا خط لوله فرمت کتابخانه" از چارچوب XNA ایجاد کنید، من فقط می توانم آن را در x86 ایجاد کنید، بنابراین من آن را از یک کتابخانه کلاس به طور منظم در اینجا ایجاد کنید.

クラス ライブラリの作成

هنگامی که شما یک پروژه ایجاد می کنید، شما نیاز به "Class1.cs"، بنابراین آن را حذف کنید.

「Class1.cs」の削除

در مرحله بعد، یک مرجع اضافه کنید.

参照の追加

چون شما متن را در WPF ترسیم می کنید، به یک مرجع مرتبط با WPF نیاز دارید. ابتدا "PresentationCore" را از "Framework" بررسی کنید.

「PresentationCore」にチェック

-بعد، "WindowsBase" را بررسی کنید. اکنون دکمه OK را فشار دهید تا دوباره مدیر مرجع را تأیید و باز کنید.

「WindowsBase」にチェック

فهرست اسامی در سمت چپ را انتخاب کنید و روی دکمه مرور زیر کلیک کنید.

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

مسیر پوشه زیر را باز کنید:

  • C:\Program Files(x86)\MSBuild\MonoGame\v3.0\Tools\

از آن جا دو دال زیر را اضافه کنید:

  • MonoGame.Framework.dll
  • monoGame.Framework.Content.Pipeline.dll

2つの DLL を追加

مطمئن شوید که بررسی شده و روی دکمه OK کلیک کنید.

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

ارجاعات اضافه شده را مرور کنید.

追加された参照を確認

کد منبع را از پوشه "WpfFontPipeline" از پروژه ای که دانلود کرده اید به پروژه ای که در حال حاضر ویرایش می کنید اضافه کنید.

ソースコードを追加

دولت شما اضافه شده است.

追加した状態

بررسی کنید که پیکربندی ساخت "انتشار" و "هر CPU" است.

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

انجام ساخت تا ببینید که اگر آن را با موفقیت ساخته شده است.

ビルド結果

dLL ایجاد می شود.

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

ایجاد یک پروژه بازی

ایجاد یک پروژه برای MonoGame. مهم نیست که چه سکوایی است.

MonoGame のプロジェクトを作成

-DLL ای که شما فقط ایجاد کرده اید را در پوشه محتوا قرار دهید. مهم نیست که DLL کجاست، اما در این صورت شما به یک مسیر نسبی یا مطلق نیاز خواهید داشت، بنابراین من آن را در اینجا برای حال حاضر ترک می کنم.

 DLL を Content フォルダに配置

-باز کردن Content.mgcb و باز کردن مراجع با محتوا انتخاب شده است.

اگر برای باز نکردن آن روی "Content.mmcb" دوبار کلیک می کنید، از منوی شروع شروع به "MonoGame Pipeline" شروع کنید.

References を開く

در کادر متن، نام فایل DLL که تازه ایجاد کرده اید، یا مسیر نسبت به یا مسیر مطلق از Content.mgcb را تایپ کنید.

پس از تنظیم آن، DLL هنوز بازتاب نمی کند، بنابراین هنگامی که پروژه را ذخیره می کنید، از خط لوله تک بازی خارج شده و دوباره باز می شود.

DLL のファイル名を入力

قلم ی پرت ایجاد می کند. •انتخاب "ویرایش" >Add→New Item از منوی.

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

برای افزودن آن، گزینه "SpriteFont Description" را از میان موارد انتخاب کنید. (اتفاقا ً بعد از اضافه کردن SpriteFont فایل SpriteFont را باز کردم تا در زمان اجرا راحت تر ببینم و نام و اندازه فونت را تغییر دادم.)

「SpriteFont Description」を選択

اگر SpriteFont را که اضافه کرده اید انتخاب کنید، خواهید دید که پردازنده فونت WPF از پردازنده در دسترس است.

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

از آنجا که هر پارامتر می تواند تنظیم شود، این بار من سعی کردم آن را به عنوان در شکل نشان داده شده برای زمان تنظیم شده است. متاسفانه، شما نمی توانید رنگ در نسخه فعلی MonoGame Pipeline تغییر دهید.

各パラメータ設定

سعی کنید برای ساخت. 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);
}

هنگامی که اجرا می شود، متن کشیده می شود. درک آن کمی سخت است، اما حروف مرز و درجه بندی آبی در داخل دارد.

این آسان شد به رسم ژاپنی مانند این ، و آن را ممکن شد به رسم شخصیت با دکوراسیون.

テキストの描画結果

در نهایت، شما نمی توانید رنگ دکوراسیون متن را در monoGame Pipeline تغییر دهید، اما می توانید فایل را به طور مستقیم باز کرده و آن را اصلاح کنید.

هنگامی که پروژه را ذخیره و بسته اید، فایل .mccb را به صورت یک فایل متنی باز کنید.

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

اگر شما پایین حرکت، اطلاعات رنگ در پارامتر هدف وجود دارد، بنابراین لطفا آن را ویرایش به طور مستقیم وجود دارد.

色情報を直接編集

پس از ذخیره متن، خط لوله مونوبازی را دوباره باز کرده و آن را بسازید. می بینید که رنگ وقتی اجرا می کنید تغییر کرده است.

色変更したテキスト