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

Project1

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

[已经解决] 关于动画播放的音量问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
191 小时
注册时间
2011-1-30
帖子
118
跳转到指定楼层
1
发表于 2013-9-9 00:04:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x

我用了一个变量$vol来代表设定的音量值,
然后我在Game_System中将def se_play修改了,
后来测试时发现,当$vol=0时,在菜单中没有音效的声音,但只要一用事件播放动画或者在战斗中播放任然有se的声音。

我查了帮助但没有具体说明,所以请教一下各位高手,如何解决?谢谢。

原来的代码:
  1.   #--------------------------------------------------------------------------
  2.   # ● SE 的演奏
  3.   #     se : 演奏的 SE
  4.   #--------------------------------------------------------------------------
  5.   def se_play(se)
  6.     if se != nil and se.name != ""
  7.       Audio.se_play("Audio/SE/" + se.name, se.volume, se.pitch)
  8.     end
  9.   end
复制代码
修改后的代码:
  1.   #--------------------------------------------------------------------------
  2.   # ● SE 的演奏
  3.   #     se : 演奏的 SE
  4.   #--------------------------------------------------------------------------
  5.   def se_play(se)
  6.     if se != nil and se.name != ""
  7.       Audio.se_play("Audio/SE/" + se.name, se.volume*$vol10, se.pitch)
  8.     end
  9.   end
复制代码

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

2
发表于 2013-9-9 21:22:48 | 只看该作者
这个问题好像一直也没有人去解决,其实也不算难,既然你自己知道如何修改音量,俺直接告诉你方法好了。
首先动画中的音效不通过game_system,所以修改game_system中的音量不生效的,应该直接修改audio模块,但是这个模块RGSS又不开源,只能另辟蹊径,咱们找到RPG::Sprite, 里面有个def animation_process_timing(timing,hit)的方法,下面就有动画中播放音效的语句了。
接下来你懂的。
另外站内某些外挂脚本有修改过animation相关的内容,比如彩虹神剑就将animation_process_timing中的audio.se_play移到了update_animation
修改的时候留意一下就可以了。

俺不想动脚本,实在不会修改再@俺吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2013-5-16
帖子
1
3
发表于 2013-9-9 22:12:04 | 只看该作者
0.0不懂,我新手,路过

评分

参与人数 1星屑 -50 收起 理由
弗雷德 -50 提问区灌水是要扣税的

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
191 小时
注册时间
2011-1-30
帖子
118
4
 楼主| 发表于 2013-9-9 23:07:47 | 只看该作者
弗雷德 发表于 2013-9-9 21:22
这个问题好像一直也没有人去解决,其实也不算难,既然你自己知道如何修改音量,俺直接告诉你方法好了。
首 ...

按照你的指导,我把整个“model RPG”复制到工程里,这样成功了,
不过在model RPG外部重新定义 def animation_process_timing 就无效了,
所以还想再请教一下如何在 model 外部重定义“animation_process_timing”?
谢谢,:-) !
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

5
发表于 2013-9-9 23:44:38 | 只看该作者
本帖最后由 弗雷德 于 2013-9-9 23:45 编辑

@Person
这里只对动画音效起效,系统SE无效。
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     def animation_process_timing(timing, hit)
  4.       if (timing.condition == 0) or
  5.          (timing.condition == 1 and hit == true) or
  6.          (timing.condition == 2 and hit == false)
  7.         if timing.se.name != ""
  8.           se = timing.se
  9.           Audio.se_play("Audio/SE/" + se.name, XXXXXXXXX, se.pitch)
  10.         end
  11.         case timing.flash_scope
  12.         when 1
  13.           self.flash(timing.flash_color, timing.flash_duration * 2)
  14.         when 2
  15.           if self.viewport != nil
  16.             self.viewport.flash(timing.flash_color, timing.flash_duration * 2)
  17.           end
  18.         when 3
  19.           self.flash(nil, timing.flash_duration * 2)
  20.         end
  21.       end
  22.     end
  23.   end  
  24. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
191 小时
注册时间
2011-1-30
帖子
118
6
 楼主| 发表于 2013-9-10 23:26:11 | 只看该作者
弗雷德 发表于 2013-9-9 23:44
@Person
这里只对动画音效起效,系统SE无效。

已经弄好了,顺便还可以调整动画播放,真是非常感谢版主的帮忙!
谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 01:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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