Màn hình Nhật Bản nâng cao sử dụng bộ xử lý nội dung tùy chỉnh

Trang Cập Nhật :
Ngày tạo trang :

Về trưng bày Nhật bản

Văn bản vẽ trong MonoGame sử dụng SpriteFont cũng như XNA. Đối với SpriteFont, xem Hiển thị các ký tự chữ và số chi tiết kiểu phông chữ, vì nó là giống như XNA.

Nếu bạn sử dụng SpriteFont, bạn phải chỉ định các ký tự bạn muốn sử dụng trước. Nếu nó chỉ là ký hiệu chữ số, nó có thể được thực hiện với hầu như không có chi phí như là một đặc điểm kỹ thuật nhân vật và xây dựng thời gian bởi vì nó là khoảng 100 ký tự, nhưng khi nói đến Nhật bản, nó sẽ trở thành hàng ngàn nhân vật, do đó, thời gian xây dựng trở nên rất dài. Nếu bạn chỉ định các ký tự được sử dụng, thời gian xây dựng có thể được rút ngắn ở một mức độ nào đó, nhưng nó là rắc rối để xác định các ký tự được sử dụng ngược lại, và nó trở nên rắc rối hơn nếu có một sự thay đổi trong các ký tự được sử dụng.

Để đáp lại vấn đề này, "Ninari GD"trang web đã được tùy chỉnh để làm cho vẽ Nhật bản trong XNA thuận lợi hơn (bằng cách này, các trang web-chạy Yuichi Ito-MSFT là một trong những nhà phát triển khung XNA). Điều này làm cho nó dễ dàng hơn để xác định các ký tự để sử dụng, rút ngắn thời gian xây dựng, các ký tự trang trí, và nhiều hơn nữa. Để biết thêm thông tin, vui lòng tham khảo liên kết.

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

Tuy nhiên, bộ xử lý phông chữ WPF "trình bày trong trang dành cho XNA và không thể sử dụng như trong MonoGame. Vì vậy, tôi muốn cổng này để MonoGame.

Tải xuống bộ xử lý phông chữ WPF

Mở các trang web sau đây:

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

Cuộn xuống hai liên kết và nhấp vào liên kết ở trên để tải xuống dự án có chứa mã loại. Thấp hơn một là chỉ là một DLL, vì vậy bạn không cần phải tải về nó.

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

Vui lòng giải nén tệp đã tải xuống để bạn có thể truy xuất nội dung.

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

Tạo một dự án bộ xử lý phông chữ WPF

Tôi muốn tạo ra một bộ xử lý phông chữ WPF DLL làm việc với "bất kỳ CPU", nhưng đối với một số lý do khi tôi tạo ra một dự án với "nội dung đường ống mở rộng thư viện" của XNA Framework, tôi chỉ có thể tạo ra nó trong x86, vì vậy tôi sẽ tạo ra nó từ một thư viện lớp thường xuyên ở đây.

クラス ライブラリの作成

Khi bạn tạo một dự án, bạn không cần "Class1.cs", vì vậy hãy xóa nó.

「Class1.cs」の削除

Tiếp theo, thêm một tham chiếu.

参照の追加

Vì bạn vẽ văn bản trong WPF, bạn cần một tham chiếu liên quan đến WPF. Trước tiên, hãy kiểm tra "PresentationCore" từ "Framework".

「PresentationCore」にチェック

Tiếp theo, kiểm tra "WindowsBase". Bây giờ nhấn nút OK để xác nhận và mở trình quản lý tham khảo một lần nữa.

「WindowsBase」にチェック

Chọn duyệt ở bên trái và nhấp vào nút duyệt bên dưới.

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

Mở đường dẫn thư mục sau:

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

Từ đó, thêm hai dll sau:

  • MonoGame. Framework. dll
  • MonoGame. Framework. content. Pipeline. dll

2つの DLL を追加

Hãy chắc chắn rằng nó được kiểm tra và nhấp vào OK nút.

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

Đánh giá các tham chiếu đã được thêm vào.

追加された参照を確認

Thêm mã nguồn từ thư mục "WpfFontPipeline" từ dự án mà bạn đã tải về dự án mà bạn hiện đang chỉnh sửa.

ソースコードを追加

Tiểu bang bạn đã thêm.

追加した状態

Xác minh rằng cấu hình xây dựng là "phát hành" và "bất kỳ CPU".

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

Thực hiện xây dựng để xem nếu nó được xây dựng thành công.

ビルド結果

DLL được tạo ra.

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

Tạo một dự án trò chơi

Tạo một dự án cho MonoGame. Nó không quan trọng nền tảng của nó là gì.

MonoGame のプロジェクトを作成

Nơi DLL bạn vừa tạo trong thư mục nội dung. Nó không quan trọng nơi DLL, nhưng trong trường hợp đó bạn sẽ cần một con đường tương đối hoặc tuyệt đối, vì vậy tôi sẽ để lại nó ở đây cho bây giờ.

 DLL を Content フォルダに配置

Mở nội dung. mgcb và mở tài liệu tham khảo với nội dung được chọn.

Nếu bạn bấm đúp vào "Content. mmcb" để không mở nó, bắt đầu "MonoGame Pipeline" từ menu bắt đầu.

References を開く

Trong hộp văn bản, nhập tên tệp DLL bạn vừa tạo hoặc đường dẫn tương đối hoặc đường dẫn tuyệt đối từ nội dung. mgcb.

Sau khi bạn thiết lập nó, DLL vẫn không phản ánh, do đó, một khi bạn lưu các dự án, thoát khỏi đường ống monoGame và mở lại nó.

DLL のファイル名を入力

Tạo một phông chữ Sprite. Chọn "Edit" > thêm → mục mới từ trình đơn.

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

Chọn "SpriteFont description" trong số các mục để thêm nó. (Ngẫu nhiên, sau khi thêm SpriteFont, tôi mở tập tin SpriteFont để làm cho nó dễ dàng hơn để xem tại thời gian chạy và thay đổi tên phông chữ và kích thước.)

「SpriteFont Description」を選択

Nếu bạn chọn SpriteFont mà bạn thêm vào, bạn sẽ thấy rằng bộ xử lý phông chữ WPF có sẵn từ bộ xử lý.

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

Vì mỗi tham số có thể được thiết lập, lần này tôi đã cố gắng để thiết lập nó như được hiển thị trong hình cho thời gian. Thật không may, bạn không thể thay đổi màu sắc trong phiên bản hiện tại của đường ống MonoGame.

各パラメータ設定

Cố gắng xây dựng. 6860 ký tự được xây dựng bởi vì nó bao gồm lên đến mức JIS 2. Tuy nhiên, thời gian là khoảng chín giây, vì vậy bạn có thể thấy rằng nó khá nhanh.

ビルド完了

Bây giờ, chúng ta đang vẽ bằng cách sử dụng này SpriteFont, và mã là chính xác giống như XNA. Bạn có thể vẽ văn bản bằng cách sử dụng mã giới thiệu trong "Hiển thị các ký tự chữ và số" như nó được. Tất nhiên, Nhật bản cũng có thể.

Tôi muốn đặt chỉ mã mà tôi thêm một lần.

Phần định nghĩa của trường. "SpriteFont" đã được thêm vào.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

SpriteFont font;

Đang tải và tạo dữ liệu phông chữ trong phương pháp 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");
}

Vẽ với Nhật bản trong phương pháp vẽ.

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

Khi thực thi, văn bản được vẽ. Đó là một chút khó hiểu, nhưng các chữ cái có biên giới và sự chuyển màu xanh bên trong.

Nó trở nên dễ dàng để vẽ Nhật bản như thế này, và nó đã trở thành có thể vẽ nhân vật với trang trí.

テキストの描画結果

Cuối cùng, bạn không thể thay đổi màu sắc của trang trí văn bản trên đường ống monoGame, nhưng bạn có thể mở tệp trực tiếp và sửa đổi nó.

Khi bạn đã lưu và đóng dự án, mở tệp. MCCB dưới dạng tệp văn bản.

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

Nếu bạn cuộn xuống, có thông tin màu trong tham số mục tiêu, vì vậy hãy chỉnh sửa trực tiếp ở đó.

色情報を直接編集

Sau khi lưu văn bản, mở đường ống monoGame một lần nữa và xây dựng nó. Bạn có thể thấy rằng màu đã thay đổi khi bạn chạy nó.

色変更したテキスト