幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1819|回复: 8

[RM2K&2K3] 战斗音乐

[复制链接]

3

主题

10

帖子

95

积分

②入门

积分
95
发表于 2009-7-3 00:12:06 | 显示全部楼层 |阅读模式
如何让战斗的背景音乐变成直接播放地图的背景音乐?
回复

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2009-7-3 07:30:57 | 显示全部楼层
地图的背景乐不同,战斗的背景乐就跟着变?
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

3

主题

10

帖子

95

积分

②入门

积分
95
 楼主| 发表于 2009-7-3 13:20:21 | 显示全部楼层
不是~是战斗音乐直接变成当前地图的背景音乐~!!
回复 支持 反对

使用道具 举报

10

主题

40

帖子

365

积分

④见习

少玩游戏多读书,少生

积分
365
QQ
发表于 2009-7-3 16:05:02 | 显示全部楼层
设置数据库-系统-战斗BGM
特定情况也可以通过设置敌人队伍的事件来改变

对么?
诚征师傅
回复 支持 反对

使用道具 举报

2

主题

9

帖子

76

积分

②入门

积分
76
QQ
发表于 2009-7-4 14:36:12 | 显示全部楼层
是的XP吗?
如果是,以前66有好多个方法,
这里贴一下.
#==============================================================================
# 本脚本来自www.66rpg.com,作者六脉神剑,转载和使用请保留此声明
#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  在没有存档的情况下,处理临时数据的类。这个类的实例请参考
# $game_temp 。
#==============================================================================
class Game_Temp
   # ★——————————★——————————★——————————★
   attr_accessor :map_bgs                  # 地图画面 BGS (战斗时记忆用)
   # ★——————————★——————————★——————————★
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  处理地图画面的类。
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# ● 调用战斗
#--------------------------------------------------------------------------
def call_battle
   # 清除战斗调用标志
   $game_temp.battle_calling = false
   # 清除菜单调用标志
   $game_temp.menu_calling = false
   $game_temp.menu_beep = false
   # 生成遇敌计数
   $game_player.make_encounter_count
   # 记忆地图 BGM、停止 BGM
   $game_temp.map_bgm = $game_system.playing_bgm
   $game_system.bgm_stop
   # 记忆地图 BGS、停止 BGS
   # ★——————————★——————————★——————————★   
   $game_temp.map_bgs = $game_system.playing_bgs
   $game_system.bgs_stop
   # ★——————————★——————————★——————————★
   # 演奏战斗开始 SE
   $game_system.se_play($data_system.battle_start_se)
   # 演奏战斗 BGM
   $game_system.bgm_play($game_system.battle_bgm)
   # 矫正主角姿势
   $game_player.straighten
   # 切换到战斗画面
   $scene = Scene_Battle.new
end
end
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
#  处理战斗画面的类。
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● 画面更新 (同伴指令回合 : 逃跑)
#--------------------------------------------------------------------------
def update_phase2_escape
   # 计算敌人速度的平均值
   enemies_agi = 0
   enemies_number = 0
   for enemy in $game_troop.enemies
     if enemy.exist?
       enemies_agi += enemy.agi
       enemies_number += 1
     end
   end
   if enemies_number > 0
     enemies_agi /= enemies_number
   end
   # 计算角色速度的平均值
   actors_agi = 0
   actors_number = 0
   for actor in $game_party.actors
     if actor.exist?
       actors_agi += actor.agi
       actors_number += 1
     end
   end
   if actors_number > 0
     actors_agi /= actors_number
   end
   # 逃跑成功判定
   success = rand(100) < 50 * actors_agi / enemies_agi
   # 成功逃跑的情况下
   if success
     # 演奏逃跑 SE
     $game_system.se_play($data_system.escape_se)
     # 还原为战斗开始前的 BGM
     $game_system.bgm_play($game_temp.map_bgm)
     # ★——————————★——————————★——————————★        
     # 还原为战斗开始前的 BGS
     $game_system.bgs_play($game_temp.map_bgs)      
     # ★——————————★——————————★——————————★
     # 战斗结束
     battle_end(1)
   # 逃跑失败的情况下
   else
     # 清除全体同伴的行动
     $game_party.clear_actions
     # 开始主回合
     start_phase4
   end
end
#--------------------------------------------------------------------------
# ● 画面更新 (结束战斗回合)
#--------------------------------------------------------------------------
def update_phase5
   # 等待计数大于 0 的情况下
   if @phase5_wait_count > 0
     # 减少等待计数
     @phase5_wait_count -= 1
     # 等待计数为 0 的情况下
     if @phase5_wait_count == 0
       # 显示结果窗口
       @result_window.visible = true
       # 清除主回合标志
       $game_temp.battle_main_phase = false
       # 刷新状态窗口
       @status_window.refresh
       # ★——————————★——————————★——————————★         
       # 还原为战斗开始前的 BGS
       $game_system.bgs_play($game_temp.map_bgs)   
       # ★——————————★——————————★——————————★         
     end
     return
   end
   # 按下 C 键的情况下
   if Input.trigger?(Input::C)
     # 战斗结束
     battle_end(0)
   end
end
end
#==============================================================================
# 本脚本来自www.66rpg.com,作者六脉神剑,转载和使用请保留此声明
#==============================================================================
#######################################################################
2006年2月25日更新方法:

其实游戏中的BGM和BGS,都是一种背景音乐,只是BGS在默认情况下大多放了一些音效。

如果你整个游戏所有的音乐都放在BGS文件夹下,自然而然就是战斗的时候不中断地图音乐了



--------------------------------------------------------------------------------


2006年1月7日更新的新方法:

在脚本中ctrl+shift+f找到这两句:
$game_system.bgm_stop
$game_system.bgm_play($game_system.battle_bgm)     <--scene_map里面那个
删掉就行了。



--------------------------------------------------------------------------------


老方法:

这本是一个脚本,但如果单纯地放出来,冲突就太明显了。我们来看看怎样通过修改使得战斗的时候播放地图的背景音乐:

首先,在Game_System中添加如下内容:[...]表示原有内容不用动

class Game_System
# ----------------------------------------
[...]
attr_accessor :map_bgm_in_battle
[...]
@map_bgm_in_battle = false



然后是Scene_Map
class Scene_Map
  def call_battle
  [...]
    $game_player.make_encounter_count
    if $game_system.map_bgm_in_battle == false
      $game_temp.map_bgm = $game_system.playing_bgm
      $game_system.bgm_stop
    end
    $game_system.se_play($data_system.battle_start_se)
    if $game_system.map_bgm_in_battle == false
      $game_system.bgm_play($game_system.battle_bgm)
    end
    $game_player.straighten
  [...]
end




然后是Scene_Battle





class Scene_Battle
   def judge
   [...]
      if $game_temp.battle_can_lose
        if $game_system.map_bgm_in_battle == false
          $game_system.bgm_play($game_temp.map_bgm)
        end
        battle_end(2)
    [...]
end
# ----------------------------
   def update
   [...]
    if $game_temp.battle_abort
      if $game_system.map_bgm_in_battle == false
        $game_system.bgm_play($game_temp.map_bgm)
      end
      battle_end(1)
   [...]
end
# ----------------------------
   def update_phase2_escape
   [...]
   if success
      $game_system.se_play($data_system.escape_se)
      if $game_system.map_bgm_in_battle == false
        $game_system.bgm_play($game_temp.map_bgm)
      end
      battle_end(1)
   [...]
end
# ----------------------------
   def start_phase5
    @phase = 5
    if $game_system.map_bgm_in_battle == false
      $game_system.me_play($game_system.battle_end_me)
      $game_system.bgm_play($game_temp.map_bgm)
    end
    exp = 0
    gold = 0
    treasures = []
   [...]
end




这个脚本经过修改后是怎么运作的呢?相信对脚本稍有了解的人都能明白了:只是将原来切换音乐的地方添加了一个if条件,如果$game_system.map_bgm_in_battle == true,则就会保留地图的BGM。这种效果非常诡异,因为一般的游戏战斗的时候都会更换音乐的,没有更换的,我所知的就一个,《黑暗圣剑传说》……
新来报到.
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2009-7-4 15:53:41 | 显示全部楼层
$game_system.bgs_play($game_temp.map_bgs)

这句就是核心呐。。。。OTZ我电脑没有RM。。。这种事情我没法帮忙了
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

3

主题

10

帖子

95

积分

②入门

积分
95
 楼主| 发表于 2009-7-4 17:05:04 | 显示全部楼层
谢了~~~5楼的
另外说一下分版猪  没有RM不会去下载啊?每次都答非所问 真是的
还不如个新手
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2009-7-4 23:16:28 | 显示全部楼层
OTZ。。。对不起

另外,似乎我没必要为了谁去特意下载个RM吧。。。。
1.你我不熟
2.我有很多事情要做
我只能给你指出个大概的方向。。。。

不满意的话,那只能说声对不起了,以后我pass掉你的问题好了,反正也给不了你满意的答案,也省得LZ心烦。我真诚的道歉。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

3

主题

10

帖子

95

积分

②入门

积分
95
 楼主| 发表于 2009-7-5 02:53:08 | 显示全部楼层
呵呵  我也不熟  没关系的 以后慢慢就会熟悉的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-18 20:05 , Processed in 0.030995 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表