#==============================================================================
# 「選択肢の幅修正」(ACE) Ver.1.0
# 製作者:奈々(なな)
# へぷたなすくろーる http://heptanas.mamagoto.com/
#
# ◇使用規約
# 使用される場合はスクリプト作成者として「奈々」を明記して下さい。
# スクリプトの改変は自由に行って頂いて構いませんが
# その場合も元のスクリプトの作成者として名前を載せて下さい。
# また配布前に必ず、ブログにある利用規約を確認して下さい。
#
#------------------------------------------------------------------------------
#
# 選択肢のウィンドウ幅は「入力した文章」を元に決まる仕様です。
# 制御文字を考慮していないので、幅が合わないことがあります。
# これを「表示される文章」の幅に合わせるよう修正します。
#
# また短い文字だと強制的に余白が入っていた仕様も修正します。
# 余白を入れたい場合はスペースを入力して下さい。
#
# 使い方は、スクリプトを導入するだけでOKです。
#
#==============================================================================
#==============================================================================
# ■ Window_ChoiceList
#------------------------------------------------------------------------------
# イベントコマンド[選択肢の表示]に使用するウィンドウです。
#==============================================================================
class Window_ChoiceList < Window_Command
#--------------------------------------------------------------------------
# ● ウィンドウ位置の更新
#--------------------------------------------------------------------------
def update_placement
self.width = max_choice_width + 12 + padding * 2
self.width = [width, Graphics.width].min
self.height = fitting_height($game_message.choices.size)
self.x = Graphics.width - width
if @message_window.y >= Graphics.height / 2
self.y = @message_window.y - height
else
self.y = @message_window.y + @message_window.height
end
end
#--------------------------------------------------------------------------
# ● 選択肢の最大幅を取得
#--------------------------------------------------------------------------
def max_choice_width
$game_message.choices.collect {|s| text_size(n7_converted_text(s)).width }.max
end
#--------------------------------------------------------------------------
# ● 実際の文章
#--------------------------------------------------------------------------
def n7_converted_text(text)
r = convert_escape_characters(text)
r.gsub!(/\e(?:I|II)\[\d+\]/i){" "}
r.gsub!(/\e\w+\[\d+\]/i){""}
return r
end
end