1

SpriteBatch.DrawString を使用して画面に長いテキストを描画する方法はありますか? つまり、画面の最後に来ると新しい行が挿入されます。

4

2 に答える 2

4

XNAwiki - TextRenderingを見ることをお勧めします。

于 2011-01-13T16:41:36.167 に答える
2

新しい行の挿入は、XNA フレームワークで自動的に行うものではなく、自分で計算する必要がありますが、そうするコードを書くことは可能です。

それを行う1つの方法は、書きたい文字列を取得し、一度に1単語ずつ移動して、塗りつぶしたい領域の幅を埋めるのに十分な単語が得られるまで測定することです. その幅を見つけたら、描画する文字列の Y 位置を変更して次の行に移動するか、その時点で文字列に改行文字を挿入して、必要な単語数の計算を開始します。次の行になります。

注意すべきことは、文字列操作はコストが高く、大量のガベージが生成されるため、そのようなことを行う回数を最小限に抑えるように努める必要があるということです。テキストが静的で決して変更されない場合は、ゲームの実行中にこれを行い、二度と変更しないことが理想的です。

于 2011-01-13T16:46:40.373 に答える