Twitter @HigenekoTwitter #XNA
と、言うわけで
Microsoft XNA Game Studio Express 1.0 Refreshがリーリスされました。主な新機能は
デベロッパー同士でのゲームバイナリの交換は、GSEのビルドメニュー内の「Package "プロジェクト名" as XNA Creators Club Game」を選択すると、Windowsならプロジェクト名-Windows.ccgameがbin/x86/ReleaseまたはDebugフォルダ内に、Xbox360ならプロジェクト名-Xbox360.ccgameがbin/Xbox 360/ReleaseまたはDebugフォルダ内に作られます。このccgameファイルを開発者同士(GSEをインストールしている人)で共有することができます。Xbox360用のパッケージファイルを実行すると、自動的にXbox360に必要なファイルを転送してくれるので、手軽にゲームのやりとりをすることができるようになっています。
ビットマップベースの文字描画サポートでは、日本語を含むテキスト描画ができるようになりました。新しい項目の追加から、SpriteFontを選ぶことで、任意のフォントを追加することができます。但し、予め使用する文字を指定する必要があります。デフォルトで英数字がspritefontファイルの<CharacterRegion>に追加されています。これだと日本語文字、特に漢字を追加するのが面倒になるので、日本語メッセージファイル等からFontDescriptionを作るインポーターを作った方が良いでしょう。実際の文字描画はSpriteBatchに追加されたDrawStringメソッドを使います。他のSpriteBatchと同じようにスケールや回転ができるようになっています。
Xbox360上でのサムネイルは、プロジェクトのプロパティ画面のアプリケーションタブの下のほうにGame thumbnailという項目で任意の画像を指定することで、Xbox360のMy Game画面のサムネイルを変更することができます。また、新規にプロジェクトを作った場合は既定のサムネイルが自動的に追加されます。
コンテント・パイプラインの記事で、どんなカスタムインポーターを書いたら良いのか悩んでましたが、日本語メッセージファイルからFontDescriptionをインポートするというのが丁度良さそうなので、次回はそれを作ってみたいと思います。
Game Studio Express 1.0 Refresh
初めまして、深沢と申します。
ちょうど今 SpriteFont で日本語表示をおこなうテストをおこなっており、MSDNのフォーラムに
『「一般的に GSE で日本語表示をさせたい場合、CharacterRegion のコードをこの範囲で指定するのがオススメ!」みたいなものがありましたらご教授いただけますと幸いです』
……的な質問文を投稿しようと思っていた矢先でしたので(^^; 、日本語メッセージの話題はタイムリーでした。インポーターがあるとすごく楽そうです。
日本語が出るとやっぱり嬉しいものですね。
一応、簡単なプロセッサはドキュメントに載っています。
Programming Guie/Content Pipelineの下に「
How to: Extend the Font Description Processor to Support Additional Characters」という項目があります。
このプロセッサではあらかじめmessage.txtファイルに必要な文字を書いておけば、それを自動的にFontDescription.Charactersに追加するプロセッサになっていますね。
おー、このトピックは見逃していました。そのまま書いてありますね(^^;
ありがとうございます。
クリエーターズクラブも更新されましたし (ちょうど日本は連休ですし !)、
じっくり調べてみたいと思います。