ページ 11

無題

Posted: 2010年1月24日(日) 23:29
by no
void string1(){
ChangeFontSize(20);
ChangeFont( "MS ゴシック" ) ;
DrawFormatString( 100 , 455 , col , "ああ");
ChangeFont( "@MS ゴシック" ) ;
ChangeFontSize(15);
DrawVString   ( 620 , 80 , "ああ",col);
}

ゲーム中に縦文字と横文字を混在させる場合、上記のように記述するとフォントチェンジ、文字変更が
やたら起こるためか画面がちらつきます。どのような解決方法があるでしょうか?

Re:無題

Posted: 2010年1月24日(日) 23:30
by no
あ、タイトルとパス付け忘れました……。
見苦しくなってしまって申し訳ありません。今後こういったことがないように注意します。

Re:無題

Posted: 2010年1月25日(月) 00:12
by SooA
一文字ずつを縦方向に描画する関数を
作ってみてはどうでしょう。

Re:無題

Posted: 2010年1月25日(月) 00:40
by Ma
もしくは、フォントハンドルを作って描画すれば改善するかも。

Re:無題

Posted: 2010年1月25日(月) 10:00
by SooA
適当に作ってみました。
が、フォントの種類・サイズによっては残念な見栄えになるかも^^;

メモリ使用量を気にしないのであれば、
Maさんの仰るようにフォントハンドルを
作った方が見栄えや扱いが楽かな。 画像

Re:無題

Posted: 2010年1月25日(月) 15:06
by Ma
>メモリ使用量
チェックしたことないのですが、フォントハンドルってメモリ結構消費するのですか?
せいぜい数キロバイトだろうとかって思ってました。
もしかして、画像と同じようなものなのでしょうか?
とすると、大きなフォントサイズのフォントハンドルを作ると・・・((((;゜Д゜)))ガクガクブルブル

Re:無題

Posted: 2010年1月25日(月) 16:20
by SooA
添付したソースを少し修正しました。


>フォントハンドルってメモリ結構消費するのですか?
私もちゃんとチェックはしてないのですが、
リファレンス DeleteFontToHandle の解説によると

>この関数は、明らかに使われなくなったフォントデータが
>メモリ領域を圧迫して迷惑を掛けているときに使うと有効です。
> (フォントデータはひとつあたり1.2MB程のメモリ領域を必要とします。)

とあります。
1.2MBが多いと感じるかは人それぞれかな。
私はメガ付くとビビッちゃうんですが・・・_| ̄|○

Re:無題

Posted: 2010年1月25日(月) 20:46
by no
なるほど、そんな便利な関数があったのですね。
リファレンスはざっと眺めたつもりでしたが……。

せっかく作っていただいたので、SooAさんのソースも眺め分かりやすい方を参考にしたいと思います。

DXライブラリのリファレンスブックが欲しいとつくづく思いました。印刷すればいいだけの話ですが……。

Re:無題

Posted: 2010年1月25日(月) 23:56
by no
解決にしておきます。
おふた方、ありがとうございました~