#============================================================================== # 「選択肢の幅修正」(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