11/11/02 23:23:24.51 wP03QUt2
>>285
%#000000とかの情報をどこかに記録してからベタのテキストにして、
決まった横文字数ごとにstring.subしてテーブルに入れといて、
それで頭に、やら。が来たら文字を前後にずらして、
てとこまで考えたけど行が後ろにずれたときどうしたらいいかわからなくなって終了した
ちなみに今使ってるのはこんなの(禁則処理はしてない)
%nでstrspの\と同じ働き
local fontproc = NSDDLL('dll\\deffontd.dll','Font');
local deffont, fontsize, textcol, textrow = 'MS ゴシック', 18, 16, 7;
local COLORS = {text = '#ffffff', kwd = '#ff0000', param = '#0000ff'};
function strsp2(spnum,text,x_pos,y_pos)
if (#text < 1) then return false; end;
local col = textcol*2;
local bold = ''; if (text:match('^%%b')) then bold = 'b'; text = text:gsub('^%%b',''); end;
for i,v in pairs(COLORS) do text = text:gsub('%%#'..i,'%%'..v); end;
local params =
{
'*'..(textcol*fontsize+fontsize*2+1)..','..(textrow*fontsize)
,math.ceil(fontsize/2)..','..fontsize..','..deffont..','..bold..','..'%'..COLORS.text..text:gsub('%%n','\n');
};
NSDCopyToBg();
NSDCall(1,params[1],fontproc,params[2]:gsub('%%#%x+(%%#%x+)','%1'));
NSDSetSprite(spnum,1); NSDDelete(1);
NSSpMove(spnum,x_pos,y_pos,255);
end;