赞 | 3 |
VIP | 300 |
好人卡 | 28 |
积分 | 5 |
经验 | 86206 |
最后登录 | 2023-8-1 |
在线时间 | 1552 小时 |
Lv2.观梦者 永无止境的旅程
- 梦石
- 0
- 星屑
- 503
- 在线时间
- 1552 小时
- 注册时间
- 2012-6-19
- 帖子
- 1226
|
战斗后BGM继续
之前我修改过了,试试这个有没有问题- =begin
- ★戦闘前後BGM継続★
- 戦闘曲にBGMではなく、BGSを使用し、
- バックグラウンドにマップBGMを音量0で流し続けることで、
- 戦闘後、マップ上のBGMを途切れさせずに、再開させることができます。
-
- また、指定スイッチをONにしている場合、戦闘BGMを演奏せず、
- マップBGMを戦闘に持ち越すことができます。
-
- ● 仕様 ●==========================================================
- BGSの機能を使って、戦闘曲を演奏しますが、
- ファイルの読み込み先はBGMフォルダのままですので、
- ファイルの移動などは特に必要ありません。
- ====================================================================
- ● 注意 ●==========================================================
- このスクリプトを導入すると、
- 戦闘BGMにMIDI形式のファイルが再生できなくなります。
- ====================================================================
-
- ver1.12
- Last Update : 2010/07/02
- 07/02 : マップBGMを持ち越した際、ゲームオーバーMEが演奏されないバグを修正
- 01/23 : マップのBGMを戦闘に持ち越す機能の追加
- 12/27 : 逃走時にBGMが復帰しないバグの修正
- : 復帰時にBGMのフェードインを行うように調整
- 12/18 : 新規
-
- ろかん http://kaisouryouiki.web.fc2.com/
- =end
- #===================================
- # ●設定箇所
- #===================================
- module Rokan
- module Battle_Audio
- # 戦闘にマップBGMを引き継ぐ場合の判定スイッチ番号
- MBATH = 0
-
- # マップBGM引き継ぎ時には勝利MEを演奏しない
- MAWMTH = true
- end
- end
- #===================================
- # ここまで
- #===================================
- $rsi = {} if $rsi == nil
- $rsi["战斗前后BGM继续"] = true
- class << Graphics
- alias update_bgm_fade_in update unless $!
- def update
- update_bgm_fade_in
- RPG::BGM.volume_fade_in(3) unless $scene.is_a?(Scene_Battle)
- end
- end
- module RPG
- class BATTLE_BGS < BGS
- include Rokan::Battle_Audio
- def play
- return if $game_switches[MBATH]
- if @name.empty?
- Audio.bgs_stop
- @@last = BGS.new
- else
- Audio.bgs_play("Audio/BGM/" + @name, @volume, @pitch)
- @@last = self
- end
- end
- end
-
- class BGM < AudioFile
- include Rokan::Battle_Audio
- def play
- if @name.empty?
- Audio.bgm_stop
- @@last = BGM.new
- else
- Audio.bgm_play("Audio/BGM/" + @name, @volume, @pitch)
- @@last_volume = @@origin_volume = @volume
- @@last = self
- end
- end
-
- def self.stop
- return if $game_temp.in_battle
- if $game_temp.next_scene == "battle"
- volume_off unless $game_switches[MBATH]
- return
- end
- Audio.bgm_stop
- @@last = BGM.new
- end
-
- def self.volume_off?
- return false if @@last.name.empty?
- return (@@last_volume < @@origin_volume)
- end
- def self.volume_fade_in(plas)
- return unless volume_off?
- @@last_volume = [@@last_volume + plas, @@origin_volume].min
- Audio.bgm_play("Audio/BGM/" + @@last.name, @@last_volume, @@last.pitch)
- end
- def self.volume_on
- return if @@last.name.empty?
- Audio.bgm_play("Audio/BGM/" + @@last.name, @@origin_volume, @@last.pitch)
- @@last_volume = @@origin_volume
- end
- def self.volume_off
- return if @@last.name.empty?
- @@last_volume = 0
- Audio.bgm_play("Audio/BGM/" + @@last.name, @@last_volume, @@last.pitch)
- end
- end
- class ME < AudioFile
- include Rokan::Battle_Audio
- alias map_bgm_restart play unless $!
- def play
- if $game_switches[MBATH] && MAWMTH && $scene.is_a?(Scene_Battle)
- $game_system.battle_end_me_play = false
- return
- end
- map_bgm_restart
- if $game_system.battle_end_me_play
- $game_system.battle_end_me_play = false
- RPG::BGM.volume_on
- end
- end
- end
- end
- class Game_Temp
- #--------------------------------------------------------------------------
- # ● 戦闘時マップBGM記憶変数取得時に、BGSを返す
- #--------------------------------------------------------------------------
- def map_bgm
- return @map_bgs
- end
- end
- class Game_System
- #--------------------------------------------------------------------------
- # ● 公開インスタンス変数
- #--------------------------------------------------------------------------
- attr_accessor :battle_end_me_play # バトル終了 ME 演奏済みフラグ
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- alias battle_me_flag_plas initialize
- def initialize
- battle_me_flag_plas
- @battle_end_me_play = false
- end
- #--------------------------------------------------------------------------
- # ● BGM取得
- #--------------------------------------------------------------------------
- def battle_bgm
- bgm = @battle_bgm == nil ? $data_system.battle_bgm : @battle_bgm
- return RPG::BATTLE_BGS.new(bgm.name, bgm.volume, bgm.pitch)
- end
- #--------------------------------------------------------------------------
- # ● 終了取得
- #--------------------------------------------------------------------------
- alias map_bgm_fadein_flag battle_end_me
- def battle_end_me
- @battle_end_me_play = true
- map_bgm_fadein_flag
- end
- end
复制代码 |
评分
-
查看全部评分
|