查看: 2536|回复: 7

[已经解决] VX战后BGM不间断

[复制链接]
梦石
0
星屑
50
在线时间
10 小时
注册时间
2015-10-8
回帖
9
发表于 2015-10-8 16:39:54 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
找了好几天 一直无法解决这个问题
背景音乐播放到一半遇到战斗,战斗结束后
能够从音乐断掉的地方继续播放而不是重播
该如何实现呢?{:2_272:}

永无止境的旅程<

梦石
0
星屑
537
在线时间
1554 小时
注册时间
2012-6-19
回帖
1162

开拓者贵宾

发表于 2015-10-9 17:42:34 | 显示全部楼层
善用搜索,我记得有人提问过而且是我回答的
[pre lang="ruby"]=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
[/pre]
[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
&lt;font size=&quot;5&quot;&gt;[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&amp;tid=396208&amp;extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
10 小时
注册时间
2015-10-8
回帖
9
 楼主| 发表于 2015-10-9 18:26:36 | 显示全部楼层
本帖最后由 bing9506 于 2015-10-9 18:55 编辑


[delete][delete][delete]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
10 小时
注册时间
2015-10-8
回帖
9
 楼主| 发表于 2015-10-9 18:54:02 | 显示全部楼层
丿梁丶小柒 发表于 2015-10-9 17:42
善用搜索,我记得有人提问过而且是我回答的
=begin
      ★戦闘前後BGM継続★


首先谢谢你的回应
但我脚本苦手不知道该如何设置及贴到哪边
我设立一个新的脚本区贴进去
运行的时候会弹窗
发生了SyntaxError
是我贴错地方么?

点评

语法错误,可能哪里有拼写错误或者缺/多了一个或几个end  发表于 2015-10-9 18:58
回复

使用道具 举报

梦石
0
星屑
50
在线时间
10 小时
注册时间
2015-10-8
回帖
9
 楼主| 发表于 2015-10-9 19:51:01 | 显示全部楼层
找到以前2樓帖子的腳本就可行了
但遇到新的問題
沒有戰鬥音樂了{:2_263:}
回复

使用道具 举报

永无止境的旅程<

梦石
0
星屑
537
在线时间
1554 小时
注册时间
2012-6-19
回帖
1162

开拓者贵宾

发表于 2015-10-9 21:01:26 | 显示全部楼层
我发的这个可能有问题,这是在我游戏里拿过来的。注解掉了默认的战斗BGM播放。
[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
&lt;font size=&quot;5&quot;&gt;[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&amp;tid=396208&amp;extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复

使用道具 举报

永无止境的旅程<

梦石
0
星屑
537
在线时间
1554 小时
注册时间
2012-6-19
回帖
1162

开拓者贵宾

发表于 2015-10-9 21:12:44 | 显示全部楼层
对了,教你一个实用的办法,也就是战斗随机播放一个战斗BGM。
我屏蔽了默认的那条脚本是为了随机播放BGM的。
QQ截图20151009210935.jpg
QQ截图20151009211018.jpg
[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
&lt;font size=&quot;5&quot;&gt;[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&amp;tid=396208&amp;extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
10 小时
注册时间
2015-10-8
回帖
9
 楼主| 发表于 2015-10-9 23:38:10 | 显示全部楼层
丿梁丶小柒 发表于 2015-10-9 21:12
对了,教你一个实用的办法,也就是战斗随机播放一个战斗BGM。
我屏蔽了默认的那条脚本是为了随机播放BGM的 ...


谢谢你我刚刚也是从公共事件下手就解决了
太开心了 !!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部