赞 | 1 |
VIP | 246 |
好人卡 | 87 |
积分 | 1 |
经验 | 34142 |
最后登录 | 2015-1-15 |
在线时间 | 323 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 323 小时
- 注册时间
- 2010-8-21
- 帖子
- 666
|
lz没说明计算标准.....我先贴个出来
- #==============================================================================
- # ■ Scene_Map
- #------------------------------------------------------------------------------
- # 处理地图画面的类。
- #==============================================================================
- class Scene_Map
- alias _update update
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- _update
- check_bgm
- end
- #--------------------------------------------------------------------------
- # ● 检查BGM
- #--------------------------------------------------------------------------
- def check_bgm
- return unless $bgm
- return unless $game_map.events[$event_id]
- # 计算距离
- x = ($game_player.x - $game_map.events[$event_id].x)**2
- y = ($game_player.y - $game_map.events[$event_id].y)**2
- $bgm.volume = 110 - Math.sqrt(x+y)*4
- $game_system.bgm_play($bgm)
- end
- end
- #==============================================================================
- # ■ Interpreter (分割定义 8)
- #------------------------------------------------------------------------------
- # 执行事件命令的解释器。本类在 Game_System 类
- # 和 Game_Event 类的内部使用。
- #==============================================================================
- class Interpreter
- #--------------------------------------------------------------------------
- # ● 开始BGM
- #--------------------------------------------------------------------------
- def bgm_start(id)
- return if $bgm
- $event_id = id
- $bgm = $game_system.bgm_memorize
- end
- #--------------------------------------------------------------------------
- # ● 结束BGM
- #--------------------------------------------------------------------------
- def bgm_stop
- $bgm = nil
- $event_id = nil
- end
- end
复制代码
计算公式在25行左右...可自行更换,如果lz不懂脚本的话,建议改改25行最后一个数字,
算是灵敏度吧,数字越高,每走一格减的音量越多。
使用方法:
1.将其插到Main前。
2.在事件中,在"脚本"中输入
bgm_start(x)
x代表目标事件编号。
3.完事后,在"脚本"中输入
bgm_stop
即停止计算,建议在此之后插入新bgm,当然仅仅是建议.
图例:
|
评分
-
查看全部评分
|