台詞に「♥(ハートマーク)」を入れたり絵文字でキャラクターの感情を表現したいけど
文字だと環境依存で?になって表示できないし…
と、
諦めたらそこで試合終了だよ(・ω・)
それなら自分で作っちゃえばいいのさ~♪
「でも絵文字の絵を作ってもメッセージに表示するやり方を知らない」
って方に、
今回は制御文字で絵文字を表示させるやり方を伝授します!
【今回の変更点】
【用意するもの】
【スクリーンショット】
■Window_Message
文字描画でいつもお世話になってる「def refresh」に注目。
text.gsub!だとかがつらつら並んでいる場所、
while ((c = text.slice!…の上あたりに
まずはひとつ、スクリプトを追加します。
text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\006[#{$1}]" }
ここでは、文章の表示に書き込んだ「\E」を「\006」に変換させます。
で、次は。
wheile…の下に
if c == "\006"
text.sub!(/\[([0-9]+)\]/, "")
emoji = $1.to_i
case emoji
when 0
bitmap = RPG::Cache.picture("ハート")
when 1
bitmap = RPG::Cache.picture("キラキラ")
:
: 使う絵文字の分だけ上と同じように追加
:
end
self.contents.blt(4 + x, 32 * y + 2, bitmap, Rect.new(0, 0, bitmap.width, bitmap.height))
x += bitmap.width
next
end
というように追加します。
これで文章の表示で「\E[0]」と書き込むと
Picturesフォルダに入っているハートが、
「\E[1]」と書き込むとキラキラの絵文字が表示されます。
ね、簡単でしょ?
初期からある制御文字の応用なので、
執筆者の書き方がヒジョ~に分かりにくくても(笑)
どうすればいいかすぐ分かるかと思います。
スクリーンショットで使った絵文字4点は
上の「SilverHearts絵文字サンプル」のリンク先からセットでダウンロードできますので、指定フォルダに入れてテストしてみてください。