תצוגה יפנית מתקדמת באמצעות מעבדי תוכן מותאמים אישית
אודות תצוגה יפנית
ציור טקסט ב-MonoGame משתמש בגופן מוכן ב-XNA. לקבלת הגופן הרגיל, ראה הצגת תווים אלפאנומריים וסגנון גופן, כפי שהוא זהה ל-xna.
אם אתה משתמש ב-ספריטפונט, עליך לציין את התווים שבהם ברצונך להשתמש מראש. אם זה רק סמלים אלפאנומריים, זה יכול להיעשות עם כמעט ללא עלות כמו מפרט תו ולבנות זמן מכיוון שהוא על 100 תווים, אבל כשמדובר ביפנית, זה הופך להיות אלפי תווים, כך הזמן לבנות הופך לארוך מאוד. אם תציין רק את התווים בהם יש להשתמש, ניתן יהיה לתקצר את זמן הבנייה במידה מסוימת, אבל זה בעייתי לציין את התו שישמש להיפוך, והוא הופך להיות עוד יותר בעייתי אם יש שינוי באופי שישמש.
בתגובה לבעיה זו, "Ninari GD"האתר הותאם אישית כדי להפוך ציור יפנית ב-xna יותר בצורה חלקה (דרך אגב, האתר-הפעל Yuichi איטו-MSFT הוא אחד המפתחים Xna מסגרת). כך קל יותר לציין את התווים לשימוש, לקצר לבנות זמן, לקשט תווים, ועוד. לקבלת מידע נוסף, עיין בקישור.
עם זאת, "מעבד הגופנים WPF" המוצג בדף הוא עבור XNA ולא ניתן להשתמש בו כפי שהוא מונוגיים. אז אני רוצה לנמל את זה מונוגיים.
הורד את מעבד הגופנים של WPF
פתח את האתרים הבאים:
גלול מטה לשני קישורים ולחץ על הקישור לעיל כדי להוריד את הפרוייקט המכיל את קוד המיון. התחתון הוא רק קובץ DLL, כך שאינך צריך להורידו.
נא חלץ את הקובץ שהורדת כך שתוכל לאחזר את התוכן.
יצירת פרוייקט של מעבד גופנים של WPF
ברצוני ליצור קובץ DLL של מעבד גופנים WPF הפועל עם "כל מעבד", אך מסיבה כלשהי כאשר אני יוצר פרוייקט עם "ספריית ההרחבה של צינור התוכן" של מסגרת XNA, אני יכול ליצור אותו רק ב-x86, אז אני אצור אותו מספריית מחלקה רגילה כאן.
בעת יצירת פרוייקט, אינך זקוק ל-"Class1.cs", לכן מחק אותו.
לאחר מכן, הוסף הפניה.
מכיוון שאתה מצייר טקסט ב-WPF, דרוש לך הפניה הקשורה ל-WPF. ראשית, יש לבדוק את "מסגרת המרכז".
הבא, לבדוק "WindowsBase". כעת הקש על אישור כדי לאשר ולפתוח שוב את ' מנהל ההפניות '.
בחרו ' עיון ' בצד שמאל ולחצו על הלחצן ' עיון ' להלן.
פתח את נתיב התיקיה הבא:
- C:\Program תוכנית (x86) \Ms3.0\mvmltess\c.des/
משם, הוסף את שני קבצי ה-Dll הבאים:
- מונוגיים. מסגרת. dll
- משחק מונוגיים. המסגרת. צינור. dll.
ודא שהוא נבדק ולחץ על לחצן אישור.
סקור את ההפניות שנוספו.
הוסף את קוד המקור מהתיקיה "WpfFontPipeline" מהפרוייקט שהורדת לפרוייקט שאתה עורך כעת.
. המדינה שהוספת
ודא שתצורת הבנייה היא "שחרור" ו-"כל מעבד".
בצע בנייה כדי לראות אם הוא נבנה בהצלחה.
DLL נוצר.
יצירת פרוייקט משחק
צור פרוייקט עבור MonoGame. . זה לא משנה איזו פלטפורמה זו
הצב את קובץ ה-DLL שיצרת זה עתה בתיקיה ' תוכן '. לא משנה היכן נמצא ה-DLL, אך במקרה זה תזדקק לנתיב יחסי או מוחלט, לכן אשאיר אותו כאן בינתיים.
פתח תוכן. mgcb ופתח הפניות עם תוכן שנבחר.
אם תלחץ פעמיים על "תוכן. mmcb" כדי לא לפתוח אותו, להתחיל "צינור MonoGame" מהתפריט התחל.
בתיבת הטקסט, הקלד את שם הקובץ של קובץ ה-DLL שיצרת זה עתה, או את הנתיב יחסית אל או מוחלט מהתוכן. mgcb.
לאחר הגדרת הקובץ, ה-DLL עדיין אינו משקף, כך שברגע שאתה שומר את הפרוייקט, צא מצבר המשחקים החד ופתח אותו מחדש.
יצירת גופן ספרייט. בחר "ערוך" > Add → פריט חדש מהתפריט.
בחר באפשרות ' מבין הפריטים כדי להוסיפו. (אגב, לאחר הוספת את הגופן הטוב ביותר, פתחתי את הקובץ הרצוי כדי להקל על הראות בזמן ריצה ושינה את שם הגופן וגודלו.)
אם תבחר בגופן המתאים שהוספת, תראה שמעבד הגופן WPF זמין מהמעבד.
מאחר שניתן להגדיר כל פרמטר, הפעם ניסיתי להגדיר אותו כמוצג באיור באותו הזמן. למרבה הצער, אתה לא יכול לשנות את הצבע בגירסה הנוכחית של צינור MonoGame.
. נסה לבנות 6860 תווים נבנו משום שהוא נכלל עד JIS רמה 2. , עדיין, הזמן הוא בערך תשע שניות. כדי שתוכל לראות שזה די מהר
והקוד הוא בדיוק אותו. הדבר כמו 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, אבל אתה יכול לפתוח את הקובץ ישירות ולשנות אותו.
לאחר ששמרת וסגרת את הפרוייקט, פתח את קובץ ה-. mccb כקובץ טקסט.
אם אתה מגלול למטה, יש מידע צבע בפרמטר היעד, אז בבקשה לערוך אותו ישירות שם.
לאחר שמירת הטקסט, פתח את צינור monoGame שוב ולבנות אותו. באפשרותך לראות שהצבע השתנה בעת הפעלת הצבע.