2009.01.12 *Mon
文字をくっきり
細かい話になってくるのですが、DXライブラリを使って制作していると、少しフォントが気になることがあります。
例えば、MS ゴシック(アンチエイリアシング・エッジ)で文字を表示したいのですが、太さ5くらいの文字が良いのに6だと何だか不格好…と。
大きさ15程度だと、太さ6は無いと非常に見づらい文字になります(特に半角文字)。しかし、どうしても太さ5のフォントが良い…。
そこで「文字に影をつける」ことを考えます。元々アンチエイリアシング・「エッジ」ということで影は付いているのですが、アンチエイリアシングが付くと見づらくなってしまうのですよねぇ。
エッジ付き文字を描画するオリジナル関数です(DXライブラリ使用)。
//グローバル変数:「edge:影は本体からどの程度ずれているか」「edge_flash:影の明るさ」
//(x,y)にcolor色・フォント(font)で文章(message)を表示
//(デフォルト値あり)flashは文字の明るさ(αブレンド)、color2は文字の枠の色(デフォルト黒)
void DrawStringEdge(double x,double y,int color,int font,char *message, int flash=255, int color2=0){
SetDrawBlendMode(DX_BLENDMODE_ALPHA,edge_flash);
DrawStringToHandle(x+edge,y+edge,message,0,font);
SetDrawBlendMode(DX_BLENDMODE_ALPHA,flash);
DrawStringToHandle(x,y,message,color,font,color2);
return;
}
edgeは1、edge_flashは200がオススメ。
書式付文章を使いたい場合は、wsprintfでググレばいいよ。


上が影なし、下が影あり。全角文字はあんまり変わって無いように見えますが、半角文字は確かにクッキリしています。拡大するとその違いがもっと分かるはず。
因みに、画像は制作中のものです。いよいよシューティング部分に入れそうです。システム構築実質2日かぁ…。慣れてきたと言うか。
あ、ゲーム公開するとか言ってましたが多分しません。そんなに技術力無いし…。良いものが出来ればアレですけど、私なんてまだまだヒヨッコ。ついでに効果音は原作からパクってくる予定だし^^;
一応代用効果音は用意していますが…。多分公開はしません。
ずっと作ってばかりだと、やっぱり遊びたくなるもの。
妖々夢を起動。とりあえずルナティック。
皆は凄いリプレイの見過ぎでおかしくなってるんだよ!というわけで超チキンプレイ。あぁ、もっとチキンになっておけば良かった^^;
4面の抱え落ちが凄まじかった。5面最終スペルでコンティニュー。そのまま2ミス(3ミスだったかな?)でクリア。どうやら近いうちにクリアできそうですね。
でもやっぱりSTGは1日1プレイ。集中力が切れてしまいます。2プレイ目は必然的に滅茶苦茶。
大往生?全然出来てませんよ、っと。
例えば、MS ゴシック(アンチエイリアシング・エッジ)で文字を表示したいのですが、太さ5くらいの文字が良いのに6だと何だか不格好…と。
大きさ15程度だと、太さ6は無いと非常に見づらい文字になります(特に半角文字)。しかし、どうしても太さ5のフォントが良い…。
そこで「文字に影をつける」ことを考えます。元々アンチエイリアシング・「エッジ」ということで影は付いているのですが、アンチエイリアシングが付くと見づらくなってしまうのですよねぇ。
エッジ付き文字を描画するオリジナル関数です(DXライブラリ使用)。
//グローバル変数:「edge:影は本体からどの程度ずれているか」「edge_flash:影の明るさ」
//(x,y)にcolor色・フォント(font)で文章(message)を表示
//(デフォルト値あり)flashは文字の明るさ(αブレンド)、color2は文字の枠の色(デフォルト黒)
void DrawStringEdge(double x,double y,int color,int font,char *message, int flash=255, int color2=0){
SetDrawBlendMode(DX_BLENDMODE_ALPHA,edge_flash);
DrawStringToHandle(x+edge,y+edge,message,0,font);
SetDrawBlendMode(DX_BLENDMODE_ALPHA,flash);
DrawStringToHandle(x,y,message,color,font,color2);
return;
}
edgeは1、edge_flashは200がオススメ。
書式付文章を使いたい場合は、wsprintfでググレばいいよ。


上が影なし、下が影あり。全角文字はあんまり変わって無いように見えますが、半角文字は確かにクッキリしています。拡大するとその違いがもっと分かるはず。
因みに、画像は制作中のものです。いよいよシューティング部分に入れそうです。システム構築実質2日かぁ…。慣れてきたと言うか。
あ、ゲーム公開するとか言ってましたが多分しません。そんなに技術力無いし…。良いものが出来ればアレですけど、私なんてまだまだヒヨッコ。ついでに効果音は原作からパクってくる予定だし^^;
一応代用効果音は用意していますが…。多分公開はしません。
ずっと作ってばかりだと、やっぱり遊びたくなるもの。
妖々夢を起動。とりあえずルナティック。
皆は凄いリプレイの見過ぎでおかしくなってるんだよ!というわけで超チキンプレイ。あぁ、もっとチキンになっておけば良かった^^;
4面の抱え落ちが凄まじかった。5面最終スペルでコンティニュー。そのまま2ミス(3ミスだったかな?)でクリア。どうやら近いうちにクリアできそうですね。
でもやっぱりSTGは1日1プレイ。集中力が切れてしまいます。2プレイ目は必然的に滅茶苦茶。
大往生?全然出来てませんよ、っと。
COMMENT
Comment Form
TRACKBACK
TrackBack List
| HOME |

