アンダーラインを引く
 本文にアンダーライン(正しくはアンダースコアというらしいですが)を引く方法です。
 NScripterだけでも再現できなくは無いんですが、改行無視のスラッシュへの対応が面倒になるので、NSLuaでやってます。
 以下、スクリプト。

function NSCOM_line()
local text = NSPopStr()
local len = #string.match(text, "^(.-)/?$") / 2
NSExec("getcursorpos %0,%1")
local x = NSGetIntValue(0)
local y = NSGetIntValue(1)
NSSpLoad(0, ":s#FFFFFFあ")
local width,height = NSSpGetInfo(0)
NSExec(string.format('puttext "%s"', text))
NSSpLoad(0, string.format(":s/%d,%d,0;#FFFFFF_", width * len, height))
NSSpMove(0, x, y, 255)
NSUpdate()
end


「line "あいうえお"」という風に使います。テキストの途中でアンダーラインを引きたい場合は
あい/
line "うえ/"

 こんな感じで。使いたい用途によっては、line命令中でスラッシュ付加してもいいかもしれませんね。
 このスクリプトではスプライトやNScripter側の変数を使ってるので、バッティングする場合は適宜変更で。
 問題点としては
・テキストウィンドウ非表示時にスプライトも一緒に非表示にしないといけない
・バックログでは表示されない
 ってところでしょうか。どちらもシステムカスタマイズすれば解消可能ではありますが、上はともかく下はちょっと面倒かも。
[PR]
by lyricist_m | 2010-03-15 18:34 | NSLua
<< numalias話に便乗してみる 辞書配列のセーブ・ロード >>