幻想森林

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

[求助]怎样设定BGM,BGS的音量?

[复制链接]

4

主题

32

帖子

352

积分

④见习

积分
352
发表于 2007-4-7 18:34:54 | 显示全部楼层 |阅读模式
怎样设定BGM,BGS的音量?
我的新论坛: http://gamebar.5d6d.com
回复

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

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

Rank: 8Rank: 8

积分
2147483647
发表于 2007-4-7 21:15:50 | 显示全部楼层
事件里不是有马??还是LZ你要更改声音系统聂? [s:7]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

4

主题

32

帖子

352

积分

④见习

积分
352
 楼主| 发表于 2007-4-8 12:59:28 | 显示全部楼层
我要做一个在游戏中设定BGM,BGS音量的东东
我的新论坛: http://gamebar.5d6d.com
回复 支持 反对

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2007-4-8 15:16:09 | 显示全部楼层
参考事件脚本手册http://acl.bugdie.org/BGURHB.txt
其实...不需要啊...
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

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

Rank: 8Rank: 8

积分
2147483647
发表于 2007-4-8 17:51:37 | 显示全部楼层
那个东西ME就用了………

#————————————————————————————————————————————————
#版权:carol3
#功能:可以调整游戏中的音量
#使用方法:用任何方法调整以下4个变量即可。比如把BGM音量调整为80%,则是$BGM=80
#说明:这个只是修改绝对音量,相对音量不会变。
#      比如游戏中声音有大小变化,改了$BGM=80并不会把所有音量统一,只是全部变为原来的80%音量
$BGM = 100
$BGS = 100
$ME = 100
$SE = 100
#另外,注意这4个数在游戏内要小于100,大于100按100算。
#————————————————————————————————————————————————
class Game_System
  #--------------------------------------------------------------------------
  # ● 演奏 BGM
  #     bgm : 演奏的 BGM
  #--------------------------------------------------------------------------
  def bgm_play(bgm)
    @playing_bgm = bgm
    if bgm != nil and bgm.name != ""
      Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume*$BGM/100, bgm.pitch)
    else
      Audio.bgm_stop
    end
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ● 演奏 BGS
  #     bgs : 演奏的 BGS
  #--------------------------------------------------------------------------
  def bgs_play(bgs)
    @playing_bgs = bgs
    if bgs != nil and bgs.name != ""
      Audio.bgs_play("Audio/BGS/" + bgs.name, bgs.volume*$BGS/100, bgs.pitch)
    else
      Audio.bgs_stop
    end
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ● ME 的演奏
  #     me : 演奏的 ME
  #--------------------------------------------------------------------------
  def me_play(me)
    if me != nil and me.name != ""
      Audio.me_play("Audio/ME/" + me.name, me.volume*$ME/100, me.pitch)
    else
      Audio.me_stop
    end
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ● SE 的演奏
  #     se : 演奏的 SE
  #--------------------------------------------------------------------------
  def se_play(se)
    if se != nil and se.name != ""
      Audio.se_play("Audio/SE/" + se.name, se.volume*$SE/100, se.pitch)
    end
  end
end

#——存进度里面去……
class Scene_Save
  alias carol3_w write_save_data
  def write_save_data(file)
    carol3_w(file)
    Marshal.dump($BGM, file)
    Marshal.dump($BGS, file)
    Marshal.dump($ME, file)
    Marshal.dump($SE, file)
  end
end

class Scene_Load
  alias carol3_r read_save_data
  def read_save_data(file)
    carol3_r(file)
    $BGM        = Marshal.load(file)
    $BGS        = Marshal.load(file)
    $ME        = Marshal.load(file)
    $SE        = Marshal.load(file)
  end
end


具体的看注释……………………
[s:7]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2007-4-9 11:23:22 | 显示全部楼层
引用第4楼secondsen2007-04-08 17:51发表的:
那个东西ME就用了………

#————————————————————————————————————————————————
#版权:carol3
#功能:可以调整游戏中的音量
.......

- -|||为什么后面要存进去呢,你只要把新的变量定义在Game_System里面,这样就会自动保存住了……

烂毛外传里面的修改方法:
  1. #==============================================================================
  2. # ■ Game_System 修改by Team Bunny God
  3. #------------------------------------------------------------------------------
  4. #  处理系统附属数据的类。也可执行诸如 BGM 管理之类的功能。本类的实例请参考
  5. # $game_system 。
  6. #==============================================================================
  7. class Game_System
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :map_interpreter          # 地图事件用解释程序
  12.   attr_reader   :battle_interpreter       # 战斗事件用解释程序
  13.   attr_accessor :timer                    # 计时器
  14.   attr_accessor :timer_working            # 计时器执行中的标志
  15.   attr_accessor :save_disabled            # 禁止存档
  16.   attr_accessor :menu_disabled            # 禁止菜单
  17.   attr_accessor :encounter_disabled       # 禁止遇敌
  18.   attr_accessor :message_position         # 文章选项 显示位置
  19.   attr_accessor :message_frame            # 文章选项 窗口外关
  20.   attr_accessor :save_count               # 存档次数
  21.   attr_accessor :magic_number             # 魔法编号
  22.   ###########################################################################
  23.   attr_accessor :Volume                   # 控制音乐音量
  24.   ###########################################################################
  25.   #--------------------------------------------------------------------------
  26.   # ● 初始化对像
  27.   #--------------------------------------------------------------------------
  28.   def initialize
  29.     @map_interpreter = Interpreter.new(0, true)
  30.     @battle_interpreter = Interpreter.new(0, false)
  31.     @timer = 0
  32.     @timer_working = false
  33.     @save_disabled = false
  34.     @menu_disabled = false
  35.     @encounter_disabled = false
  36.     @message_position = 2
  37.     @message_frame = 0
  38.     @save_count = 0
  39.     @magic_number = 0
  40.   ###########################################################################
  41.     @Volume = 100
  42.   ###########################################################################
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● 演奏 BGM
  46.   #     bgm : 演奏的 BGM
  47.   #--------------------------------------------------------------------------
  48.   def bgm_play(bgm)
  49.     @playing_bgm = bgm
  50.     if bgm != nil and bgm.name != ""
  51.   ###########################################################################
  52.       Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume * @Volume / 100, bgm.pitch)
  53.   ###########################################################################
  54.     else
  55.       Audio.bgm_stop
  56.     end
  57.     Graphics.frame_reset
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 停止 BGM
  61.   #--------------------------------------------------------------------------
  62.   def bgm_stop
  63.     Audio.bgm_stop
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● BGM 的淡出
  67.   #     time : 淡出时间 (秒)
  68.   #--------------------------------------------------------------------------
  69.   def bgm_fade(time)
  70.     @playing_bgm = nil
  71.     Audio.bgm_fade(time * 1000)
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 记忆 BGM
  75.   #--------------------------------------------------------------------------
  76.   def bgm_memorize
  77.     @memorized_bgm = @playing_bgm
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 还原 BGM
  81.   #--------------------------------------------------------------------------
  82.   def bgm_restore
  83.     bgm_play(@memorized_bgm)
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● 演奏 BGS
  87.   #     bgs : 演奏的 BGS
  88.   #--------------------------------------------------------------------------
  89.   def bgs_play(bgs)
  90.     @playing_bgs = bgs
  91.     if bgs != nil and bgs.name != ""
  92.   ###########################################################################
  93.       Audio.bgs_play("Audio/BGS/" + bgs.name, bgs.volume * @Volume / 100, bgs.pitch)
  94.   ###########################################################################
  95.     else
  96.       Audio.bgs_stop
  97.     end
  98.     Graphics.frame_reset
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● BGS 的淡出
  102.   #     time : 淡出时间 (秒)
  103.   #--------------------------------------------------------------------------
  104.   def bgs_fade(time)
  105.     @playing_bgs = nil
  106.     Audio.bgs_fade(time * 1000)
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 记忆 BGS
  110.   #--------------------------------------------------------------------------
  111.   def bgs_memorize
  112.     @memorized_bgs = @playing_bgs
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 还原 BGS
  116.   #--------------------------------------------------------------------------
  117.   def bgs_restore
  118.     bgs_play(@memorized_bgs)
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● ME 的演奏
  122.   #     me : 演奏的 ME
  123.   #--------------------------------------------------------------------------
  124.   def me_play(me)
  125.     if me != nil and me.name != ""
  126.   ###########################################################################
  127.       Audio.me_play("Audio/ME/" + me.name, me.volume * @Volume / 100, me.pitch)
  128.   ###########################################################################
  129.     else
  130.       Audio.me_stop
  131.     end
  132.     Graphics.frame_reset
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● SE 的演奏
  136.   #     se : 演奏的 SE
  137.   #--------------------------------------------------------------------------
  138.   def se_play(se)
  139.     if se != nil and se.name != ""
  140.   ###########################################################################
  141.       Audio.se_play("Audio/SE/" + se.name, se.volume * @Volume / 100, se.pitch)
  142.   ###########################################################################
  143.     end
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 停止 SE
  147.   #--------------------------------------------------------------------------
  148.   def se_stop
  149.     Audio.se_stop
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 获取演奏中 BGM
  153.   #--------------------------------------------------------------------------
  154.   def playing_bgm
  155.     return @playing_bgm
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 获取演奏中 BGS
  159.   #--------------------------------------------------------------------------
  160.   def playing_bgs
  161.     return @playing_bgs
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 获取窗口外观的文件名
  165.   #--------------------------------------------------------------------------
  166.   def windowskin_name
  167.     if @windowskin_name == nil
  168.       return $data_system.windowskin_name
  169.     else
  170.       return @windowskin_name
  171.     end
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 设置窗口外观的文件名
  175.   #     windowskin_name : 新的窗口外观文件名
  176.   #--------------------------------------------------------------------------
  177.   def windowskin_name=(windowskin_name)
  178.     @windowskin_name = windowskin_name
  179.   end
  180.   #--------------------------------------------------------------------------
  181.   # ● 获取战斗 BGM
  182.   #--------------------------------------------------------------------------
  183.   def battle_bgm
  184.     if @battle_bgm == nil
  185.       return $data_system.battle_bgm
  186.     else
  187.       return @battle_bgm
  188.     end
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● 设置战斗 BGM
  192.   #     battle_bgm : 新的战斗 BGM
  193.   #--------------------------------------------------------------------------
  194.   def battle_bgm=(battle_bgm)
  195.     @battle_bgm = battle_bgm
  196.   end
  197.   #--------------------------------------------------------------------------
  198.   # ● 获取战斗结束的 BGM
  199.   #--------------------------------------------------------------------------
  200.   def battle_end_me
  201.     if @battle_end_me == nil
  202.       return $data_system.battle_end_me
  203.     else
  204.       return @battle_end_me
  205.     end
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ● 设置战斗结束的 BGM
  209.   #     battle_end_me : 新的战斗结束 BGM
  210.   #--------------------------------------------------------------------------
  211.   def battle_end_me=(battle_end_me)
  212.     @battle_end_me = battle_end_me
  213.   end
  214.   #--------------------------------------------------------------------------
  215.   # ● 刷新画面
  216.   #--------------------------------------------------------------------------
  217.   def update
  218.     # 计时器减 1
  219.     if @timer_working and @timer > 0
  220.       @timer -= 1
  221.     end
  222.   end
  223. end
复制代码

要改到变量的话,只需要$game_system.volume = XXX就可以了,这个是全局音量的控制方法,如果要单独改变的话也可以自己定义不同的变量来控制。
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-24 00:48 , Processed in 0.011998 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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