2

これで、私が取り組んでいる 2D XNA ベースのトップダウン ハック アンド スラッシュ プロジェクトの、画面にテキストを描画する必要がある部分にたどり着きました。私が使用したいのは、このプロジェクトに必要な文字と記号で見つけた SpriteSheet 風の画像です。

さて、質問する前にこれについて少し読んだことがあります.「フォント」または何かを画面に表示する唯一の2つの方法は、コンピューターに既にインストールされているフォントを使用することです.カスタム コンテンツ プロセッサを作成するには?

私の質問は、必要なすべての文字/文字を含む画像 (たとえば、PNG 形式) がある場合、それらの文字を 2D ゲームでどのように使用すればよいですか? また、必ずしも XNA ベースのソリューションである必要はありません。

前もって感謝します。

4

1 に答える 1

2

スプライト シートから他のスプライトを描画するのとまったく同じように描画します。

SpriteBatch.DrawメソッドにはRectangle、スプライト シートからソースを表すを取得できるオーバーロードがいくつかあることを既にご存知かもしれません。

辞書を使用して、文字からスプライトの長方形への関係を追跡できます

Dictionary<char, Rectangle> fontDict = new Dictionary<char,Rectangle>();
fontDict.Add('A', new Rectangle(/*params representing source of A*/);

for または foreach ループを使用して単語を作成できます

for(int i = 0; i<str.Count; i++)
{
    Rectangle spriterect = fontDict[str[i]];

    SpriteBach.Draw(/*params*/);
}

文字の間隔も自分で管理する必要があることに注意してください。ただし、自分で行うことは可能です。

ただし、 ContentManager はなどの画像フォーマットに基づいた SpriteFonts の作成をサポートしているようにjpgpng見えるので、それを調べたほうがよいかもしれません


さらにグーグルするとFontTextureProcessor Classが得られます。これは役立つ場合があります。

于 2013-07-26T22:01:21.967 に答える