メッセージの一部の文字を大きくしたり小さくしたりできたら
表現の幅がきっと広がるハズ!
メッセージで文字の色を変える、
アクターの名前を入力する、変数の値を表示する、
…などの制御文字はXPツクラーの方なら
既に知っているかと思います。
今回のRGSSは、
文字サイズの変更を制御文字で可能にします。
【今回の変更点】
【スクリーンショット】
■Windows_Message
「リフレッシュ」
def refreshの下に
self.contents.font.size = 22追加
リフレッシュでサイズを初期値に戻しておかないと、
次に文章を表示した時、初期サイズに戻りません。
デフォルト文字サイズが22なので22にしてあります。
「制御文字処理」
:
# "\\C" を "\001" に、"\\G" を "\002" に変換
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
text.gsub!(/\\[Gg]/) { "\002" }
text.gsub!(/\\[Mm]/) { "\003" }←普通サイズ
text.gsub!(/\\[Ss]/) { "\004" }←小サイズ
text.gsub!(/\\[Ll]/) { "\005" }←大サイズ
\Mで初期サイズ、\Sで小さいサイズ、\Lで大きいサイズに
制御文字を使って変更できるようにします。
# c に 1 文字を取得 (文字が取得できなくなるまでループ)
while ((c = text.slice!(/./m)) != nil)
…の以下、文字の描画以上に下記を挿入。
# \M の場合
if c == "\003"
self.contents.font.size = 22(初期サイズに)
next
end
# \S の場合
if c == "\004"
self.contents.font.size = 16(好きなサイズに)
next
end
# \L の場合
if c == "\005"
self.contents.font.size = 26(好きなサイズに)
next
end
これで\M\S\Lの制御文字で文字を各サイズに
変更する事が可能になります。
文字の大きさはそれぞれ好きな大きさに設定して下さい。
同じようなやり方で一部書体を変えたり、画像を表示させたりもできるかと思います。
制御文字もアイデア次第ですね。