Project1
标题:
[VA] 商店界面BGM / 地图指定战斗BGM
[打印本页]
作者:
柍若
时间:
2014-2-9 20:10
标题:
[VA] 商店界面BGM / 地图指定战斗BGM
本帖最后由 柍若 于 2014-2-10 14:24 编辑
两个小插件脚本,事件也能产生类似效果,脚本纯为了方便。
事件可能记错或者忘记加指令之类,用脚本就不会有这个问题。
1:
商店BGM
有点像仙4商店的那种效果?
目前还没发现其他游戏商店有单独BGM的,汗,可能是我玩的比较少
# ■ 商店BGM - By 柍若
#------------------------------------------------------------------------------
# 商店界面播放指定的BGM。
#==============================================================================
class Scene_Shop < Scene_MenuBase
#------------------------------------------------------------------------------
Audio_Name = 'Airship' # BGM名
Sound_Volume = 100 # 音量
Sound_Tone = 100 # 音调
#------------------------------------------------------------------------------
alias preparee prepare
def prepare(goods, purchase_only)
preparee(goods, purchase_only)
save_audio
fadeout_all(600)
Audio.bgm_play('Audio/BGM/'+Audio_Name,Sound_Volume,Sound_Tone)
end
alias returnn return_scene
def return_scene
fadeout_all(600)
@map_bgm.replay if @map_bgm
@map_bgs.replay if @map_bgs
returnn
end
def fadeout_all(time = 1000)
RPG::BGM.fade(time)
RPG::BGS.fade(time)
RPG::ME.fade(time)
RPG::BGM.stop
RPG::BGS.stop
RPG::ME.stop
end
def save_audio
@map_bgm = RPG::BGM.last
@map_bgs = RPG::BGS.last
end
end
复制代码
2:
地图指定战斗BGM
很多游戏都是不同地图使用不同战斗BGM。
#------------------------------------------------------------------------------
# ■ 地图指定战斗BGM - By 柍若
#------------------------------------------------------------------------------
# 可以不用手动在转地图的事件切战斗BGM了,省去麻烦。
# 当地图无BGM设定的时候,战斗则播放系统设置里或游戏中切换的BGM。
#==============================================================================
# [使用方法]
# 文件名 音量 音调
# 在地图的备注栏里写 <BattleBGM name, volume, tone>
#------------------------------------------------------------------------------
# 注意事项:BattleBGM与后面的数据之间一定要有一个空格,
# 文件名、音量、音调用半角逗号隔开,逗号后可有空格,也可没有。
#------------------------------------------------------------------------------
class Scene_Map
def pre_battle_scene
Graphics.update
Graphics.freeze
@spriteset.dispose_characters
BattleManager.save_bgm_and_bgs
a = $game_map.note.split(/<BattleBGM /)[1]
a = a.split(/>/)[0]
a = a.split(/,/)
if a
map_battle_bgm(a[0],a[1],a[2])
else
BattleManager.play_battle_bgm
end
Sound.play_battle_start
end
def map_battle_bgm(name,v=100,t=100)
Audio.bgm_play("Audio/BGM/"+name,v.to_i,t.to_i)
RPG::BGS.stop
end
end
复制代码
作者:
子弹君
时间:
2014-2-28 19:11
虽然两个都可以用事件做出来,但是毕竟脚本更方便呢~
作者:
柍若
时间:
2014-3-2 10:46
战斗BGM明明刚写出来的时候几个工程亲测可用来着……(本来就是自用的:D
结果……_(:з」∠)_这两天不知道RM抽什么风突然报错了?还以为是加了新脚本有冲突,结果放到新工程里还是报错,奇怪……
想了半天没想懂为什么之前好好的突然就不能用了……也没更新RM啊……略诡异_(:з」∠)_
谁来告诉我这是为什么QAQQQ
于是轻微修改了下。各位如果上面的不能用,试试这个。
#------------------------------------------------------------------------------
# ■ 地图指定战斗BGM - By 柍若
#------------------------------------------------------------------------------
# 可以不用手动在转地图的事件切战斗BGM了,省去麻烦。
# 当地图无BGM设定的时候,战斗则播放系统设置里或游戏中切换的BGM。
#==============================================================================
# [使用方法]
# 文件名 音量 音调
# 在地图的备注栏里写 <BattleBGM name, volume, tone>
#------------------------------------------------------------------------------
# 注意事项:BattleBGM与后面的数据之间一定要有一个空格,
# 文件名、音量、音调用半角逗号隔开,逗号后可有空格,也可没有。
#------------------------------------------------------------------------------
class Scene_Map
def pre_battle_scene
Graphics.update
Graphics.freeze
@spriteset.dispose_characters
BattleManager.save_bgm_and_bgs
note = load_data(sprintf("Data/Map%03d.rvdata2", $game_map.map_id))
a = note.note.split(/<BattleBGM /)[1]
a = a.split(/>/)[0]
a = a.split(/,/)
if a
map_battle_bgm(a[0],a[1],a[2])
else
BattleManager.play_battle_bgm
end
Sound.play_battle_start
end
def map_battle_bgm(name,v=100,t=100)
Audio.bgm_play("Audio/BGM/"+name,v.to_i,t.to_i)
RPG::BGS.stop
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1