=begin RGSS3 ★ ディスプレイオフ演出 ★ 映像がブツンッと切れるような演出が可能になります。 イベントコマンドのスクリプトから起動させてください。 コマンドを実行すると画面が真っ暗になります。 これは画面のフェードアウトを実行した後と同じ状態です。 画面のフェードインで状態を復帰させることができます。 ● コマンド ●====================================================== start_off_display -------------------------------------------------------------------- ディスプレイオフ演出の開始。 ==================================================================== ver1.00 Last Update : 2013/11/26 11/26 : 新規 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end $rsi ||= {} $rsi["ディスプレイオフ演出"] = true class Game_Interpreter #-------------------------------------------------------------------------- # ● ディスプレイオフ演出の開始 #-------------------------------------------------------------------------- def start_off_display Fiber.yield while $game_message.visible screen.start_off_display wait(19) end end class Game_Screen #-------------------------------------------------------------------------- # ● クリア #-------------------------------------------------------------------------- alias _off_display_clear clear def clear _off_display_clear clear_off_display end #-------------------------------------------------------------------------- # ● ディスプレイオフのクリア #-------------------------------------------------------------------------- def clear_off_display @off_display_duration = 0 end #-------------------------------------------------------------------------- # ● ディスプレイオフの開始 #-------------------------------------------------------------------------- def start_off_display @off_display_duration = 19 @display_sprite = Sprite.new @display_sprite.z = 1000 @display_sprite.x = @display_sprite.ox = Graphics.width / 2 @display_sprite.y = @display_sprite.oy = Graphics.height / 2 @display_sprite.color = Color.new(255, 255, 255, 0) @display_sprite.bitmap = Graphics.snap_to_bitmap @fadeout_duration = 1 end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias _off_display_update update def update _off_display_update update_off_display end #-------------------------------------------------------------------------- # ● ディスプレイオフの更新 #-------------------------------------------------------------------------- def update_off_display unless @off_display_duration.zero? c = 19 - @off_display_duration # 倍率X if (13..19).member?(@off_display_duration) @display_sprite.zoom_x = 1.1 + (0.15 * c) elsif (6..9).member?(@off_display_duration) @display_sprite.zoom_x = 0.9 - (0.2 * (c - 10)) elsif (2..5).member?(@off_display_duration) @display_sprite.zoom_x = (0.1 / (c - 13)) end # 倍率Y if (8..19).member?(@off_display_duration) @display_sprite.zoom_y = (@display_sprite.zoom_y * (0.95 - ((0.05 * c + c) * 0.05))).round(3) end # カラーブレンド if (9..17).member?(@off_display_duration) @display_sprite.tone.red += 10 @display_sprite.color.alpha += c * 5 end # 解放 if @off_display_duration == 1 @display_sprite.bitmap.dispose @display_sprite.dispose @display_sprite = nil end @off_display_duration -= 1 Graphics.frame_reset end end end