久しぶりにHSP触りました。
txt2exoのプログラムで少しきになるところがあった(プレビューの縁取り)ので、そこをモジュール化してみました。
実際はもう少し違うプログラムですが、ここでは文字の縁取り部分だけです。
#module
#deffunc fuchimes str a , int n, int r , int g , int b
bold = n
color_r = r : color_g = g : color_b = b
;色範囲を0~255に制限
if color_r > 255 : color_r = 255
if color_g > 255 : color_g = 255
if color_b > 255 : color_b = 255
if color_r < 0 : color_r = 0
if color_g < 0 : color_g = 0
if color_b < 0 : color_b = 0
if bold < 0 : bold = 0
;現在のカラーコードを一時保存
ncolor_r = ginfo_r
ncolor_g = ginfo_g
ncolor_b = ginfo_b
redraw 0
;縁描画
color color_r,color_g,color_b
pos ginfo_cx-boid , ginfo_cy-boid
repeat bold*2+1 ;縦移動
cposy_x = ginfo_cx : cposy_y = ginfo_cy
repeat bold*2+1 ;横移動
cposx_x = ginfo_cx : cposx_y = ginfo_cy
mes a
pos cposx_x+1 , cposx_y
loop
pos cposy_x , cposy_y+1
loop
;中心文字描画
color ncolor_r,ncolor_g,ncolor_b
pos cposy_x+bold , cposx_y-bold
mes a
redraw 1
return
#global
fuchimes "Hello World!",5,100,140,235
fuchimes “文字列”,縁の太さ,カラーコードR,カラーコードG,カラーコードB
文字色は現在の色設定、縁の色はfuchimes命令中で指定した色です。
まぁグーグル先生にかかればこんなの他にいくらでも見つかると思います。
多分これよりも処理が早いものもあると思いますが、頻繁に書き換えないのならこれでいい気もします。
あと、改行を含んでも大丈夫だと思います。
参考になれば。
あらかじめ色を指定(ここでは、255,255,128)しておくとこんな感じになる
最近のコメント