スプライト フォント
上級 プログラマー
SpriteFont クラスは、テキストを描くのに便利なクラスです。SpriteBatch クラスとあわせて使用します。
Note
カスタムコードをコンポジションに含めるには、すべてのカスタムコードをカスタム シーン レンダラーに記述する必要があります。
スプライトフォントを読み込む
フォントアセットをコンパイルした後は、ContentManager を使って、SpriteFont インスタンスとして読み込むことができます。これは、テキストを表示するためのすべてのオプション(ビットマップ、カーニング、行間など)を含んでいます。
Code: スプライトフォントを読み込む
var myFont = Content.Load<SpriteFont>("MyFont");
画面にテキストを書く
フォントを読み込んだら、SpriteBatch で任意のテキストを表示することができます。描画を行うのは、DrawString メソッドです。スプライトバッチの詳細については、スプライト バッチを参照してください。
コード: テキストを書く
// スプライトバッチを作成
// create the SpriteBatch
var spriteBatch = new SpriteBatch(GraphicsDevice);
// 開始を忘れないこと
// don't forget the begin
spriteBatch.Begin(GraphicsContext);
// "Helloworld!" というテキストを、赤字で画面の中央に描画
// draw the text "Helloworld!" in red from the center of the screen
spriteBatch.DrawString(myFont, "Helloworld!", new Vector2(0.5, 0.5), Color.Red);
// 終了を忘れないこと
// don't forget the end
spriteBatch.End();
さまざまなオーバーロードメソッドを使って、テキストの向き、拡大率、深さ、原点などを指定できます。また、テキストに次のような SpriteEffects を適用することもできます。
- None(なし)
- FlipHorizontally(水平方向に反転)
- FlipVertically(垂直方向に反転)
- FlipBoth(水平・垂直両方に反転)
コード: 高度なテキスト描画
// "Hello world!" というテキストを、赤字で画面の中央に、上下逆さまに描く
// draw the text "Hello world!" upside-down in red from the center of the screen
spriteBatch.DrawString(myFont, "Hello world!", new Vector2(0.5, 0.5), Color.Red, 0, new Vector2(0, 0), new Vector2(1,1), SpriteEffects.FlipVertically, 0);