XNA Game Studio Exrpess 1.0 Refresh
リリースされたとのことで、入れてみました。どうやら1.1ではなく1.0 Refreshとなったようです。
- ビルド更新時の無駄な動作が修正され、更新のみのビルドが高速になっています。
配布パッケージファイルのパック・アンパック機能
パック方法
- Visual C# 2005 Express
- ソリューション エクスプローラ
- プロジェクトの名前の上で
- コンテキストメニュー(右クリック)
- 「Package as XNA Creators Club Game」を選択する
-
- 配布ファイル群が圧縮され、.ccgameなる拡張子のファイルができる
-
- 「Package as XNA Creators Club Game」を選択する
- コンテキストメニュー(右クリック)
- プロジェクトの名前の上で
- ソリューション エクスプローラ
アンパック方法(Windows)
パックの補足
- 出力ウィンドウに経過が表示される
- 失敗時のエラーメッセージからCab形式を応用しているものと思われる
- 「...\Microsoft XNA\XNA Game Studio Express\v1.0\Tools\XnaPack.exe」でコマンドライン操作でも可能
ビットマップフォント機能
望まれていた文字描画を簡単にするためのソリューションが追加されました。Content Pipelineで実現されています。
プロジェクトに新しい項目の追加で「Sprite Font」を選んで追加します。XML形式の拡張子.spritefontでWindowsのフォントからのビットマップ生成の設定をします。
実際のランタイム用のコードがどのようになるのか簡単に試してみました。(C#コード抜粋)
public class FontSampleGame : Microsoft.Xna.Framework.Game { //... SpriteBatch sprites; SpriteFont font; //... protected override void Initialize() { sprites = new SpriteBatch(graphics.GraphicsDevice); font = content.Load<SpriteFont>("content/font/Sample"); base.Initialize(); } //... protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.CornflowerBlue); sprites.Begin(/*...*/); sprites.DrawString(font, "Sample\nDrawing Text", Vector2.Zero, Color.White); // \nで改行可能 sprites.End(); base.Draw(gameTime); } }
※フォントに含んでいない文字にはArgumentExceptionが発生します。
※なお、ヘルプの「How to: Draw Text」によりフォーマルな例があります。
ほか追加されたと思しきもの(一部)
- VectorConverter.TryGetSurfaceFormat