Project1

标题: 如何修改Audio模块里的bgm_play方法 [打印本页]

作者: 风清翔    时间: 2015-11-8 14:32
标题: 如何修改Audio模块里的bgm_play方法
本帖最后由 风清翔 于 2015-11-8 14:34 编辑

打算做个游戏内音量修改系统,其中一个重要想法就是把Audio.bgm_play重定义一下
大略上是这样的思路:
module Audio
 alias bgm_play_b bgm_play
 def bgm_play(a,b,c)
  d=load_data("Data/Volume.rxdata")
  bgm_play_b(a,b+d-100,c)
 end
end
"Data/Volume.rxdata"是我之前准备好了的一个储存变量的文件。
但是运行游戏测试时却发现提示“Audio模块中找不到bgm_play这个方法”
怎么回事,是我哪里想错了吗?求解答。
作者: 喵呜喵5    时间: 2015-11-8 15:22
bgm_play 是 Audio 的类方法不是实例方法,这么干:
  1. class << Audio
  2.  alias bgm_play_b bgm_play
  3.  def bgm_play(a,b,c)
  4.   d=load_data("Data/Volume.rxdata")
  5.   bgm_play_b(a,b+d-100,c)
  6.  end
  7. end
复制代码

作者: 紫英晓狼1130    时间: 2015-11-8 17:21
本帖最后由 紫英晓狼1130 于 2015-11-8 17:33 编辑

我一般是这样做的,LZ可以参考一下
首先在Game_System中“定义实例变量”中加一个volume
然后把@volume初始化一下
最后在“演奏 BGM”的时候把bgm.volume乘以volume / 100
这个就是百分率了,SE、ME、BGS也是同理

忘了说使用方法了,补一脚本,LZ再看看
  1. $game_system.bgm_volume = 40
  2. $game_system.bgm_play($game_system.bgm_memorize)
复制代码





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