=begin RGSS3 文章スクロール一時停止 Ver.1.2 2012/05/24 mo-to TKOOL COOL http://mototkool.blog.fc2.com/ ★概要★ 指定したボタンを押している間、文章スクロールが一時停止する機能を追加する。 ★使用法★ スクリプトの▼ 素材 以下 ▼ メイン 以上にこれをコピーして張り付ける。 ★注意・仕様★ CボタンとAボタンはデフォルトでは早送り機能に使われています。 もし一時停止ボタンと被らせた場合はこの一時停止機能が優先されます。 イベントコマンドで早送り無効にチェックを入れた場合この機能も無効になります。 ★更新履歴★ Ver. 1.1 操作テキストを表示できるようにした。 Ver.1.11 早送り無効のにチェックを入れた際、操作テキストを表示させないように変更 Ver.1.20 カスタマイズをいろいろ追加、画面サイズ変更に対応 =end #↓カスタマイズ module MOTO #押している間スクロールが一時停止するボタンを指定 #:DOWN 下 :UP 上 :LEFT 左 :RIGHT 右 :L :R :Y :X (早送りで使用中:C :A) MESS_STOP = :DOWN #スクロール画面で操作表示するテキスト ADD_MESS = "Aボタン/Cボタン 文章早送り ↓ボタン 文章一時停止" #操作表示テキストの文字サイズ。デフォルトサイズは24 ADD_MESS_SIZE = 18 #操作表示テキストの文字色。Graphics/System/Windowの色を参照 0が白 ADD_MESS_COLOR = 0 #操作表示テキストを太字にするか否か(true/felse) ADD_MESS_BOLD = true #操作表示テキストのY軸の微調整+数値で下へ−数値で上へ ADD_MESS_Y = 0 #スクロールテキストのスタート位置。値を増やすと上へ(操作表示テキストと被るのが嫌なとき) SCROOL_TEXT_HEIGHT = 0 end #ここまで class Window_ScrollText < Window_Base #-------------------------------------------------------------------------- # ○ スクロール速度の取得 #-------------------------------------------------------------------------- alias stop_scroll_speed scroll_speed def scroll_speed return $game_message.scroll_speed * 0 if show_stop? stop_scroll_speed end #-------------------------------------------------------------------------- # ☆ スクロール一時停止判定 #-------------------------------------------------------------------------- def show_stop? !$game_message.scroll_no_fast && Input.press?(MOTO::MESS_STOP) end end class Window_Add_ScrollText < Window_Base #-------------------------------------------------------------------------- # ☆ オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super(0, 0, window_width, window_height) self.visible = false self.opacity = 0 end #-------------------------------------------------------------------------- # ☆ ウィンドウ幅の取得 #-------------------------------------------------------------------------- def window_width return Graphics.width end #-------------------------------------------------------------------------- # ☆ ウィンドウの高さの取得 #-------------------------------------------------------------------------- def window_height return fitting_height(1) end #-------------------------------------------------------------------------- # ☆ フレーム更新 #-------------------------------------------------------------------------- def update super if $game_message.scroll_mode && !$game_message.scroll_no_fast self.visible = true refresh else self.visible = false end end #-------------------------------------------------------------------------- # ☆ リフレッシュ #-------------------------------------------------------------------------- def refresh contents.clear change_color(text_color(MOTO::ADD_MESS_COLOR)) contents.font.size = MOTO::ADD_MESS_SIZE contents.font.bold = MOTO::ADD_MESS_BOLD draw_text(0, 0, window_width, 32, MOTO::ADD_MESS, 1) end end class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # ○ スクロール文章ウィンドウの作成 #-------------------------------------------------------------------------- alias ori_moto_create_scroll_text_window create_scroll_text_window def create_scroll_text_window ori_moto_create_scroll_text_window @scroll_text_window.height -= MOTO::SCROOL_TEXT_HEIGHT @scroll_text_window_add = Window_Add_ScrollText.new @scroll_text_window_add.y = (Graphics.height - @scroll_text_window_add.window_height) + MOTO::ADD_MESS_Y end end