プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:3Dテストプログラム開発
名前を付けて保存ダイアログ
「名前を付けて保存」ダイアログのオプション設定ボタン。
小さいので見落とさないように!



◎XNAにおける漢字表示

XNAは文字表示にスプライトフォントを採用しているため、表示する文字フォントは全て登録する必要があります。

半角英数字はデフォルトで登録されます。ひらがなカタカナは100文字程度なので全て追加登録できます。

しかし漢字は文字数が膨大なため、全てのフォントを登録するわけにはいきません。

そのため、使用する文字のみ登録する必要があるのですが、文字数が多い場合は大変面倒です。



◎漢字の自動登録

そこで、使用するメッセージをテキストファイルに登録すると、そこから漢字コードを自動的に抽出し登録する方法がXNAヘルプに紹介されています。

実は、前回のRPGテストプログラムで一度チャレンジしたのですが、コンテントパイプラインがさっぱり解らず、結局断念しました。

今回はその問題の克服を目標に掲げ、無事に解決したのですが…原因はコンテントパイプラインではなく、「テキストファイルの文字コード設定」でした。

オプション設定ボタン小さすぎて気付かなかったよ~!(冒頭図参照)



◎技術情報

漢字表示を紹介している記事は、XNAヘルプの他にも幾つかあるようなので省略します。

高度な日本語表示
シンプル日本語表示
日本語文字列の表示(XNA3.0)

今回は「高度な日本語表示」のコンテントパイプラインを流用して、若干カスタマイズ(メッセージファイル内でコメント使用可能)したものを使っています。



◎日本語対応部品の流用性

コンテントパイプラインとメッセージファイルを利用すれば、文字フォントは自動登録されますが、日本語をあちこちで表示する場合、「何番目の文字列をどこで使用するか」の管理が必要になってきます。

いろいろ考えた末、共通クラスでメッセージを集中管理し、各クラスはそこからメッセージを受け取るようにしました。

Visio-クラス関連図_20080903

この方法だと、メッセージの管理が行き届きやすい反面、オプション選択フレームやトラックバー等の部品の独立性が低く、他のソリューション(プログラム)への使いまわしが面倒なのが難点です。

例えば、他のソリューションにオプション選択フレームを流用したい場合、

・オプション選択フレーム(クラス)
・オプション選択ボタン(クラス)
・共通クラス(クラス)
・テキストメッセージ(テキストファイル)
・テキストインポータ(インポータ)
・テキストメッセージプロセッサ(プロセッサ)

こんなに組み込む必要があり、ややこしくて他人にはとても薦められません。

とりあえず自分一人で製作していく前提とし、今後ソリューションを新規作成する場合は、後半4部品をデフォルトで組み込むようにすると、同じような部品の使い回しが簡単になりますが…果たしてこれでいいのかなぁ?うーむ…。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。