设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 8594|回复: 4
打印 上一主题 下一主题

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

[复制链接]

Lv2.观梦者

梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
帖子
219
跳转到指定楼层
1
发表于 2014-7-6 03:18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

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

已经解决

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-7-6 06:21:56 | 只看该作者
变量x取1~10的随机数
如果变量x为1,则播放第一个BGM。注意播放BGM的选项,右侧就可以直接调音量
...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2012-4-20
帖子
15
3
发表于 2014-7-6 10:22:39 | 只看该作者
范例: Project3.7z (4.34 MB, 下载次数: 127)

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


2.指定播放列表播放
      在第一行指定播放列表,填写格式自行参考
      
RUBY 代码复制
  1. fary = '028-Town06','029-Town07',
  2. '030-Town08','031-Castle01'
  3. f_name = fary[rand(fary.size)]
  4. bgm = RPG::BGM.new(f_name, 100,
  5. 100)
  6. bgm.play



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




评分

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

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41105
在线时间
7568 小时
注册时间
2009-7-6
帖子
13498

开拓者贵宾

4
发表于 2014-7-6 14:10:04 | 只看该作者
更改BGM音量不是什么难事。
RM的BGM播放有个奇怪的特点,这是我在用事件播放同一首BGM的时候发现的。
播放同一首BGM的指令并不会导致BGM从头播放,而是改变音量继续播放……
这样你可以重定义bgm_play方法
放下伪代码
RUBY 代码复制
  1. class << Audio
  2.   alias _f_bp bgm_play unless $@
  3.   def bgm_play(*arg)
  4.     $rem_bgm = arg[0]
  5.     arg[1] = arg[1] * $vol / 100
  6.     _f_bp(*arg)
  7.   end
  8. end


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

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-25 17:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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