Project1

标题: 关于不自动切换BGM的新问题 [打印本页]

作者: 悠悠炸弹    时间: 2009-5-16 21:45
标题: 关于不自动切换BGM的新问题
我按照http://rpg.blue/web/shownews.asp?id=56修改好脚本后测试游戏,
发现战斗之后背景音乐没了,为什么?
顺便问一下,怎样在不自动切换背景音乐的情况下连战斗胜利音乐也不播放了?
作者: 飘渺北极雪    时间: 2009-5-17 01:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 殘缺De星    时间: 2009-5-17 01:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 悠悠炸弹    时间: 2009-5-17 21:24
修改的部分如下:
Game_System的
  class Game_System
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_reader   :map_interpreter          # 地图事件用解释程序
  attr_reader   :battle_interpreter       # 战斗事件用解释程序
  attr_accessor :timer                    # 计时器
  attr_accessor :timer_working            # 计时器执行中的标志
  attr_accessor :save_disabled            # 禁止存档
  attr_accessor :menu_disabled            # 禁止菜单
  attr_accessor :encounter_disabled       # 禁止遇敌
  attr_accessor :message_position         # 文章选项 显示位置
  attr_accessor :message_frame            # 文章选项 窗口外关
  attr_accessor :save_count               # 存档次数
  attr_accessor :magic_number             # 魔法编号
  attr_accessor :map_bgm_in_battle        # BGM切换
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    @map_interpreter = Interpreter.new(0, true)
    @battle_interpreter = Interpreter.new(0, false)
    @timer = 0
    @timer_working = false
    @save_disabled = false
    @menu_disabled = false
    @encounter_disabled = false
    @message_position = 2
    @message_frame = 0
    @save_count = 0
    @magic_number = 0
    @map_bgm_in_battle == false        
  end

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
    if $map_bgm_in_battle == false     
     $game_temp.map_bgm = $game_system.playing_bgm
     $game_system.bgm_stop
   end
   # 演奏战斗开始 SE
    $game_system.se_play($data_system.battle_start_se)
    if $map_bgm_in_battle == false
     $game_system.bgm_play($game_system.battle_bgm)
    end
    # 矫正主角姿势
    $game_player.straighten
    # 切换到战斗画面
    $scene = Scene_Battle.new
  end
Scene_Battle 1的
#--------------------------------------------------------------------------
  # ● 胜负判定
  #--------------------------------------------------------------------------
  def judge
    # 全灭判定是真、并且同伴人数为 0 的情况下
    if $game_party.all_dead? or $game_party.actors.size == 0
      # 允许失败的情况下
      if $game_temp.battle_can_lose
       if $map_bgm_in_battle == false
         $game_system.bgm_play($game_temp.map_bgm)
       end      
        battle_end(2)
        # 返回 true
        return true
      end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 中断战斗的情况下
    if $game_temp.battle_abort
      if $map_bgm_in_battle == false
       $game_system.bgm_play($game_temp.map_bgm)
     end   
      battle_end(1)
      return
    end
Scene_Battle 2的
  #--------------------------------------------------------------------------
  # ● 画面更新 (同伴指令回合 : 逃跑)
  #--------------------------------------------------------------------------
  def update_phase2_escape      
      # 演奏逃跑 SE
      $game_system.se_play($data_system.escape_se)
      if $map_bgm_in_battle == false
       $game_system.bgm_play($game_temp.map_bgm)
      end
      # 战斗结束
      battle_end(1)
  #--------------------------------------------------------------------------
  # ● 开始结束战斗回合
  #--------------------------------------------------------------------------
  def start_phase5
    # 转移到回合 5
    @phase = 5
    if $map_bgm_in_battle == false
     $game_system.me_play($game_system.battle_end_me)
      $game_system.bgm_play($game_temp.map_bgm)
    end
有颜色的地方为新添加的,其他地方都没有改动过
简单方法:
把胜利的ME改为空白。
脚本方法:
在“Scene_Battle 2”中把137行的

$game_system.me_play($game_system.battle_end_me)


删掉。

这样的话在其他情况都没胜利结束音乐了吗?
加个if $map_bgm_in_battle == false也许会更好.

在这里先谢谢各位了{/qiang}
作者: 悠悠炸弹    时间: 2009-5-18 20:22
问题还没有得到解决~           自己顶上。
作者: 悠悠炸弹    时间: 2009-5-23 18:38
帖子放了N久,居然自己解决了~我用了RATB战斗系统再加以修改,效果就出来了。    不过我还是郁闷,到底RATB比默认脚本多了什么~貌似一样的
作者: 悠悠炸弹    时间: 2009-5-23 18:39
不好意思,又连帖了…原来是鼠标问题…今天就回去把它换了…
作者: 悠悠炸弹    时间: 2009-6-12 08:00
没人回答啊?自己顶起.




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1