Προηγμένη ιαπωνική οθόνη με χρήση προσαρμοσμένων επεξεργαστών περιεχομένου

Σελίδα ενημέρωση :
Ημερομηνία δημιουργίας σελίδας :

Πληροφορίες για την ιαπωνική οθόνη

Το σχέδιο κειμένου στο MonoGame χρησιμοποιεί spriteFont καθώς επίσης και XNA. Για το SpriteFont, ανατρέξτε στο θέμα Εμφάνιση αλφαριθμητικών χαρακτήρων και λεπτομερειών στυλ γραμματοσειράς, καθώς είναι το ίδιο με το XNA.

Εάν χρησιμοποιείτε το SpriteFont, πρέπει να καθορίσετε τους χαρακτήρες που θέλετε να χρησιμοποιήσετε εκ των προτέρων. Εάν είναι μόνο αλφαριθμητικά σύμβολα, μπορεί να γίνει με σχεδόν κανένα κόστος ως προδιαγραφή χαρακτήρα και να οικοδομήσουμε το χρόνο, επειδή είναι περίπου 100 χαρακτήρες, αλλά όταν πρόκειται για ιαπωνικά, γίνεται χιλιάδες χαρακτήρες, έτσι ώστε ο χρόνος κατασκευής γίνεται εξαιρετικά μεγάλος. Εάν καθορίσετε μόνο τους χαρακτήρες που θα χρησιμοποιηθούν, ο χρόνος δόμησης μπορεί να μειωθεί σε κάποιο βαθμό, αλλά είναι ενοχλητικό να καθορίσετε το χαρακτήρα που θα χρησιμοποιηθεί αντίστροφα και γίνεται ακόμα πιο ενοχλητικό εάν υπάρχει αλλαγή στο χαρακτήρα που θα χρησιμοποιηθεί.

Σε απάντηση σε αυτό το πρόβλημα, "Ninari GD"site έχει προσαρμοστεί για να κάνει σχέδιο ιαπωνικά σε XNA πιο ομαλά (από τον τρόπο, το site-run Yuichi Ito - MSFT είναι ένας από τους προγραμματιστές Πλαίσιο XNA). Αυτό διευκολύνει τον καθορισμό των χαρακτήρων που θα χρησιμοποιηθούν, τη μείωση του χρόνου δόμησης, την διακόσμηση χαρακτήρων και πολλά άλλα. Για περισσότερες πληροφορίες, ανατρέξτε στο σύνδεσμο.

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

Ωστόσο, ο "επεξεργαστής γραμματοσειρών WPF" που παρουσιάζεται στη σελίδα είναι για XNA και δεν μπορεί να χρησιμοποιηθεί όπως είναι στο MonoGame. Γι'αυτό θα ήθελα να το μεταφέρω στο MonoGame.

Λήψη του επεξεργαστή γραμματοσειρών WPF

Ανοίξτε τις ακόλουθες τοποθεσίες:

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

Κάντε κύλιση προς τα κάτω σε δύο συνδέσεις και κάντε κλικ στην παραπάνω σύνδεση για να κάνετε λήψη του έργου που περιέχει τον κωδικό ταξινόμησης. Το χαμηλότερο είναι μόνο ένα DLL, έτσι δεν χρειάζεται να το κατεβάσετε.

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

Κάντε μια εξαγωγή του ληφθέντος αρχείου, ώστε να μπορείτε να ανακτήσετε τα περιεχόμενα.

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

Δημιουργία έργου επεξεργαστή γραμματοσειρών WPF

Θα ήθελα να δημιουργήσετε ένα DLL επεξεργαστή γραμματοσειράς WPF που λειτουργεί με "Οποιαδήποτε CPU", αλλά για κάποιο λόγο, όταν μπορώ να δημιουργήσω ένα έργο με το "Content Pipeline Extension Library" του Πλαισίου XNA, μπορώ να το δημιουργήσετε μόνο σε x86, γι 'αυτό θα το δημιουργήσετε από μια κανονική βιβλιοθήκη τάξη εδώ.

クラス ライブラリの作成

Όταν δημιουργείτε ένα έργο, δεν χρειάζεστε "Class1.cs", επομένως διαγράψτε το.

「Class1.cs」の削除

Στη συνέχεια, προσθέστε μια αναφορά.

参照の追加

Επειδή σχεδιάζετε κείμενο στο WPF, χρειάζεστε μια αναφορά που σχετίζεται με το WPF. Πρώτα, ελέγξτε το "PresentationCore" από το "Framework".

「PresentationCore」にチェック

Στη συνέχεια, ελέγξτε "WindowsBase". Τώρα πατήστε το κουμπί OK για να επιβεβαιώσετε και να ανοίξετε ξανά τη Διαχείριση αναφορών.

「WindowsBase」にチェック

Επιλέξτε Αναζήτηση στα αριστερά και κάντε κλικ στο κουμπί Αναζήτηση παρακάτω.

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

Ανοίξτε την ακόλουθη διαδρομή φακέλου:

  • C:\Αρχεία προγράμματος(x86)\MSBuild\MonoGame\v3.0\Εργαλεία\

Από εκεί, προσθέστε τα ακόλουθα δύο DLL:

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

2つの DLL を追加

Βεβαιωθείτε ότι είναι επιλεγμένο και κάντε κλικ στο κουμπί OK.

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

Εξετάστε τις αναφορές που έχουν προστεθεί.

追加された参照を確認

Προσθέστε τον πηγαίο κώδικα από το φάκελο "WpfFontPipeline" από το έργο που κατεβάσατε στο έργο που επεξεργάζεστε αυτήν τη στιγμή.

ソースコードを追加

Η κατάσταση που πρόσθεσες.

追加した状態

Βεβαιωθείτε ότι η ρύθμιση παραμέτρων δόμησης είναι "Release" και "Any CPU".

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

Εκτελέστε μια δομή για να δείτε αν χτίστηκε με επιτυχία.

ビルド結果

Δημιουργείται DLL.

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

Δημιουργία έργου παιχνιδιού

Δημιουργήστε ένα έργο για monogame. Δεν έχει σημασία τι πλατφόρμα είναι.

MonoGame のプロジェクトを作成

Τοποθετήστε το DLL που μόλις δημιουργήσατε στο φάκελο "Περιεχόμενο". Δεν έχει σημασία πού είναι το DLL, αλλά σε αυτή την περίπτωση θα χρειαστείτε μια σχετική ή απόλυτη διαδρομή, γι 'αυτό θα το αφήσει εδώ για τώρα.

 DLL を Content フォルダに配置

Ανοίξτε το Content.mgcb και ανοίξτε τις Αναφορές με επιλεγμένο το περιεχόμενο.

Εάν κάνετε διπλό κλικ στο "Content.mmcb" για να μην το ανοίξετε, ξεκινήστε την "Διοχέτευση MonoGame" από το μενού "Έναρξη".

References を開く

Στο πλαίσιο κειμένου, πληκτρολογήστε το όνομα αρχείου του DLL που μόλις δημιουργήσατε ή τη διαδρομή σε σχέση με ή την απόλυτη διαδρομή από το Content.mgcb.

Αφού το ρυθμίσετε, το DLL εξακολουθεί να μην αντανακλά, επομένως, αφού αποθηκεύσετε το έργο, κλείστε τη διοχέτευση monoGame και ανοίξτε το ξανά.

DLL のファイル名を入力

Δημιουργεί μια γραμματοσειρά sprite. Επιλέξτε "Επεξεργασία" "Προσθήκη→Νέο στοιχείο από το μενού.

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

Επιλέξτε "SpriteFont Περιγραφή" μεταξύ των στοιχείων για να το προσθέσετε. (Παρεμπιπτόντως, μετά την προσθήκη 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");
}

Σχεδίαση με ιαπωνικά στη μέθοδο Draw.

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, αλλά μπορείτε να ανοίξετε το αρχείο απευθείας και να το τροποποιήσετε.

Αφού αποθηκεύσετε και κλείσετε το έργο, ανοίξτε το αρχείο .mccb ως αρχείο κειμένου.

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

Εάν μετακινηθείτε προς τα κάτω, υπάρχουν πληροφορίες χρώματος στην παράμετρο προορισμού, επομένως, επεξεργαστείτε τις απευθείας εκεί.

色情報を直接編集

Μετά την αποθήκευση του κειμένου, ανοίξτε ξανά τη διοχέτευση monoGame και δημιουργήστε το. Μπορείτε να δείτε ότι το χρώμα έχει αλλάξει όταν το εκτελείτε.

色変更したテキスト