Fontの描画について
Rinifisu 2014/10/26(Sun) 00:32
FontのgetTextureの文字列版を探しています。
http://siv3d.hateblo.jp/entry/adventcalendar2013/8
こちらの記事の文字描画を文字列で一括で行おうと考えて、処理を作ってました。
getTextureの文字列取り出し処理がわからなかったため、単体で無理矢理作ろうとしていましたが画像のようにうまくいかずに諦め気味です。
正しい処理方法などがありましたらよろしくお願いします。
Reputeless 2014/10/28(Tue) 21:07
Font::getTexture() を使って文字列を描画することは想定していませんでした。将来の実装を検討します。
現時点では、Font::drawKinetic() を使って各文字の座標を保存し、
それをもとに各文字の TextureRegion を描画するというテクニックで実現できます。
特殊な文字を使っていなければ、これで行けると思います。
https://gist.github.com/Reputeless/dc5bbdd1dd2137634894
Rinifisu 2014/10/29(Wed) 14:52
ミツゴロウ 2014/12/14(Sun) 02:37
上と話は変わってしまいますが、Fontの描画についての事なので新しいスレを立てずにここに書きます。
現在、Siv3Dでレトロなドット絵のゲームを作ろうと思っているのですが、フォントを使う上で一つ問題が発生しました。
Siv3Dでは、フォントの描画に必ずアンチエイリアスがかかってしまうのです。
ドット絵ではないモダンなゲームを作るならアンチエイリアスがかかったフォントの方が見栄えがよくキレイに描画されるのですが、レトロなドット絵ゲームで使用すると時代的に不統一なものになってしまいます。
添付画像はアンチエイリアスありとなしの比較画像で、通常サイズと4倍拡大を用意しました。(どちらもM+1P Mediumフォント、一般的なお絵かきソフトで作成)今回のゲームでは下のフォントを使いたいのです。
いろいろためしてみたのですが、自分ではどうすればいいかわからなかった。graphic2D::SetSamplerState(SamplerState::WrapPoint)を使っても望みどおりの結果にはなりませんでした。
ライバル(?)のDXライブラリではデフォルトでアンチエイリアスのかからないフォントが使用されています。Siv3Dでもできないでしょうか…
Reputeless 2014/12/14(Sun) 12:51