2018年 1月15日
今回は表示関連の一貫として、ダメージ表示の数字が小さいので、それように大きい数字フォントを作りたいと思います。
大きさは 28ドットで、これくらいの大きさになると手描きはめんどうなので、PCのフォントを使います。
MSゴシックとメイリオは「ウインドウズ上で加工した画像なら、商用に使ってもOK」と灰色の仕様らしいので、やはり見た目に良い MSゴシックをとりあえず使ってみます。
まず画像の大きさは、数字 0~9の 10コなので x=280の y=28です
文字の色を選んだら
文字ツールで文字を書きます
フォントは MSゴシック、大きさは 28ドット。
グリッドを半分の 14ドットで表示
数字が真ん中になるように調整します
しかし The Graphicsのグリッド表示は点なので見難い。
次に文字のレイヤーの下に透明レイヤーを足します
選択範囲の拡張で選択範囲を 2ドット拡張します
こんな感じで選択範囲が拡張されます
黒い色(縁(ふち)の色)を選んだら
選択範囲を塗りつぶします
すると数字の縁取りができます
つまり下のレイヤーはこうなってます。
さらに新規レイヤーを足して、選択範囲を拡張し、別の色で縁を作ると
背景が複雑でも見えるような 2重の縁になります。
サンプル、今回はMSゴシックと言う事で、良く分からないので 2次配布に当たらないように画像に SAMPLEが入ってます。
ソース、HSP Dish用のプログラムです。
#include "hsp3dish.as" gosub *main : end #deffunc fp int fpn,int x,int y ; figure数字表示 ; s=数字値、x=x座標、y=y座標 s=str(fpn) ; 一度文字にしないとコードが取れない? sg=strlen(s) ; 文字長さ、個数 gmode 2 repeat sg ; 文字の数だけ繰り返し n=peek(s,cnt) ; 1文字読み出し、n=アスキーコード pos x+cnt*17,y if n>=48 and n<=57 : n2=n-48 ; 数字 celput 1,n2 ; 表示 loop return *main celload "fg_MSG28.png",1 celdiv 1,28,28 randomize r=rnd(100000) repeat redraw 0 color 255,255,255 : boxf fp r,100,100 await 1000/20 redraw 1 loop return
これは 6色作ったもの
太字の方がいいかなあ。
まだ調整がいるようです。