查看: 9656|回复: 4

[已经解决] 如何在游戏中随时更改BGM音量

[复制链接]
梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
发表于 2014-7-6 03:18:14 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 qknight 于 2014-7-6 18:24 编辑

求教随机性质的BGM(无法确定具体是哪一首),如何在游戏中仅调整BGM的音量而不是在扬声器那里整体调节音量

目前使用3楼的方法在事件里写入脚本获得成功,最后再追问一下,如果脚本中音量那里不是100这类的数字而是100号变量,要如何写?

已经解决

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-7-6 06:21:56 | 显示全部楼层
变量x取1~10的随机数
如果变量x为1,则播放第一个BGM。注意播放BGM的选项,右侧就可以直接调音量
...
回复

使用道具 举报

梦石
0
星屑
50
在线时间
2 小时
注册时间
2012-4-20
回帖
14
发表于 2014-7-6 10:22:39 | 显示全部楼层
范例: Project3.7z (4.34 MB, 下载次数: 127)

随机播放bgm:
1.随机播放一个目录中的bgm
    在下面这个脚本指定目录名,随机播放这个目录中的bgm
       注意:由于编码问题,不能使用中文路径
                  这个脚本可以直接在事件中插入
[pre lang="ruby" line="1"]dir_name = "r1/"
fary = Dir.entries("Audio/BGM/"+dir_name)
fary.delete(".");fary.delete("..")
fary.delete("...")
f_name = fary[rand(fary.size)]
bgm = RPG::BGM.new(dir_name+f_name, 100,
100)
bgm.play[/pre]

2.指定播放列表播放
      在第一行指定播放列表,填写格式自行参考
      [pre lang="ruby" line="1"]fary = '028-Town06','029-Town07',
'030-Town08','031-Castle01'
f_name = fary[rand(fary.size)]
bgm = RPG::BGM.new(f_name, 100,
100)
bgm.play[/pre]


更改bgm音量
  只要重新播放bgm且只改变音量,那么bgm不会从头播放而只改变音量
  如果是由于随机指定bgm播放,不能确定bgm文件名
  就用脚本获取
  这个脚本同样可以用在事件页中
  [pre lang="ruby" line="1"]bgm = RPG::BGM.last
bgm.volume = 100  #指定bgm新的音量
bgm.play[/pre]



评分

参与人数 1星屑 +100 梦石 +1 收起 理由
taroxd + 100 + 1 认可答案

查看全部评分

回复 1 0

使用道具 举报

老黄鸡

梦石
4
星屑
45714
在线时间
7951 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2014-7-6 14:10:04 | 显示全部楼层
更改BGM音量不是什么难事。
RM的BGM播放有个奇怪的特点,这是我在用事件播放同一首BGM的时候发现的。
播放同一首BGM的指令并不会导致BGM从头播放,而是改变音量继续播放……
这样你可以重定义bgm_play方法
放下伪代码,[pre lang="ruby" line="1"]class << Audio
  alias _f_bp bgm_play unless $@
  def bgm_play(*arg)
    $rem_bgm = arg[0]
    arg[1] = arg[1] * $vol / 100
    _f_bp(*arg)
  end
end[/pre]

改变音量的时候播放一次$rem_bgm就行了,音量是$vol
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 1 0

使用道具 举报

梦石
0
星屑
124
在线时间
900 小时
注册时间
2012-11-13
回帖
845
发表于 2014-7-6 19:49:41 | 显示全部楼层
Yanfly Engine Ace - System Options v1.00:这个系统取代主菜单中的游戏结束选项,而是开啟一个设定窗口,玩家可以在这窗口中调整菜单窗口的顏色,对话框文字显示方式,速度,是否自动跑步,BGM、BGS、SFX 等声音音量大小,是否隐藏战斗动画以加快战斗节奏等等基本功能设定,还可以自行新增设定项目,开关和变量的定义,也提供了直接以脚本语法来达到设定的作用,是很不错的系统设置脚本。

Yanfly Engine Ace - System Options v1.00(有墙)
废弃
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部