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

Project1

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

[推荐问答] 怎么样让BGM由近到远

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
19 小时
注册时间
2012-9-1
帖子
30
跳转到指定楼层
1
发表于 2012-9-10 02:44:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是越接近某个物体,BGM声音越大,离那个物体越远,BGM越小,求高人指点!

点评

老大,认可答案在哪呢...  发表于 2012-9-10 20:52

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
2
发表于 2012-9-10 19:29:02 | 只看该作者
lz没说明计算标准.....我先贴个出来
  1. #==============================================================================
  2. # ■ Scene_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图画面的类。
  5. #==============================================================================

  6. class Scene_Map
  7.   alias _update update
  8.   #--------------------------------------------------------------------------
  9.   # ● 刷新画面
  10.   #--------------------------------------------------------------------------
  11.   def update
  12.     _update
  13.     check_bgm
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 检查BGM
  17.   #--------------------------------------------------------------------------
  18.   def check_bgm
  19.     return unless $bgm
  20.     return unless $game_map.events[$event_id]
  21.     # 计算距离
  22.     x = ($game_player.x - $game_map.events[$event_id].x)**2
  23.     y = ($game_player.y - $game_map.events[$event_id].y)**2
  24.     $bgm.volume = 110 - Math.sqrt(x+y)*4
  25.     $game_system.bgm_play($bgm)
  26.   end
  27. end
  28. #==============================================================================
  29. # ■ Interpreter (分割定义 8)
  30. #------------------------------------------------------------------------------
  31. #  执行事件命令的解释器。本类在 Game_System 类
  32. # 和 Game_Event 类的内部使用。
  33. #==============================================================================

  34. class Interpreter
  35.   #--------------------------------------------------------------------------
  36.   # ● 开始BGM
  37.   #--------------------------------------------------------------------------
  38.   def bgm_start(id)
  39.     return if $bgm
  40.     $event_id = id
  41.     $bgm = $game_system.bgm_memorize
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 结束BGM
  45.   #--------------------------------------------------------------------------
  46.   def bgm_stop
  47.     $bgm = nil
  48.     $event_id = nil
  49.   end
  50. end
复制代码


计算公式在25行左右...可自行更换,如果lz不懂脚本的话,建议改改25行最后一个数字,
算是灵敏度吧,数字越高,每走一格减的音量越多。

使用方法:
1.将其插到Main前。

2.在事件中,在"脚本"中输入
bgm_start(x)
x代表目标事件编号。

3.完事后,在"脚本"中输入
bgm_stop
即停止计算,建议在此之后插入新bgm,当然仅仅是建议.

图例:





点评

http://bbs.66rpg.com/forum.php?mod=viewthread&tid=248654  发表于 2012-9-11 14:12
谢谢啊,我也急需  发表于 2012-9-11 12:59
回头我做一个BGM/BGS远近控制吧。  发表于 2012-9-11 11:37

评分

参与人数 2星屑 +24 梦石 +2 收起 理由
hcm + 2 认可答案
zxcgood2009 + 24 认可答案,好贴

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
19 小时
注册时间
2012-9-1
帖子
30
3
 楼主| 发表于 2012-9-11 11:29:30 | 只看该作者
很谢谢啊....大家都是好人啊...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
19 小时
注册时间
2012-9-1
帖子
30
4
 楼主| 发表于 2012-9-11 13:01:41 | 只看该作者
@沙漠点灰我的设定是这样,但是怎么一进去就卡住不动了?


‘‘──zy625741178于2012-9-11 13:02补充以下内容:

怎么认可答案啊?
’’

23.png (11.63 KB, 下载次数: 6)

我的设定是这样

我的设定是这样
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 20:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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