0

私のアプリでは、カスタム フォントを使用する機能を追加したいと考えています。

ユーザーはサーバーのリストからフォントを選択し、ダウンロードしてアプリで使用します。

フォントをレンダリングするアプリの一部を実行するにはどうすればよいですか? xamlを使用しないアプリでそれを行う方法は?

4

1 に答える 1

0

これから着手しようとしているタスクには、おそらくかなりの量のコードが必要になるでしょう。これは、フォント内の文字を SpriteBatch の一部としてレンダリングする前に、まずテクスチャにレンダリングする必要があるためです。

通常、これはコンテンツ パイプラインを介して XNA で機能します。フォント ファイルを選択し、XML でフォント プロパティを設定すると、コンテンツ コンテンツ パイプラインがこの情報を xnb リソースにコンパイルし、読み込んでレンダリングできます。問題は、すべてがコンパイル時に発生するため、実行時に実行するのが難しくなることです。

参照: http://rbwhitaker.wikidot.com/drawing-text-with-spritefonts

別の方法として、BMFont などのツールを使用してフォントをテクスチャに事前レンダリングし、独自のレンダラーを作成する方法があります。この手法を使用して、一度チュートリアルを書きました。ただし、ほとんど同じことですが、XNA コンテンツ パイプラインを BMFont ツールに置き換えています。

http://www.craftworkgames.com/blog/tutorial-bmfont-rendering-with-monogame/

これを念頭に置いて、これを実現したい場合は、実行時にフォントを読み込んだ後、各フォントをテクスチャにレンダリングする独自のコードを作成する必要があります。また、フォントを読み込んでいるときに、グリフごとにテクスチャ上の四角形を追跡する必要があります。テクスチャ スペースを節約し、より大きなフォント サイズをサポートするには、テクスチャ パッキングと特定の文字の除外を検討する必要がある場合もあります。

于 2013-01-15T22:46:29.763 に答える