Project1
标题:
如何在切换战斗与地图BGM的时候,BGM承接而不重新播放
[打印本页]
作者:
纯属小虫
时间:
2022-7-29 11:40
标题:
如何在切换战斗与地图BGM的时候,BGM承接而不重新播放
本帖最后由 纯属小虫 于 2022-8-1 00:11 编辑
战斗时战斗BGM重新播放,战斗结束后地图BGM又重新播放,以此往复......有起床铃的既视感了
这样多多少少在频繁战斗的情况下,会对BGM的开头有些审美疲劳
不知道有没有了解RMXP音乐播放器的大佬
我的逻辑如下:
1- 在战斗开始的时候获取并记录地图BGM当前的播放时间和BGM名称
2- 战斗开始的时候 获取记录过的战斗BGM播放过的时间,并从该时刻播放 ——如果BGM名称与上次的战斗BGM不同,则从0开始播放
3- 战斗结束的时候 获取并记录当前战斗BGM的播放时间和BGM名称
4- 战斗结束回到地图的时候 获取记录过的地图BGM播放时间,并从该时刻播放——如果BGM名称与上次的地图BGM不同,则从0开始播放
2022/08/01 翻图书馆翻到了一个大宝贝
或许能够基于以下这个脚本试试吧~~
[RMXP] 扩展音频模块 v1.03
https://rpg.blue/forum.php?mod=v ... amp;fromuid=2717817
(出处: Project1)
作者:
st251355
时间:
2022-7-29 18:05
XP不是有內建 記憶BGM/BGS 與 還原BGM/BGS 功能嗎?
作者:
纯属小虫
时间:
2022-7-30 14:59
st251355 发表于 2022-7-29 18:05
XP不是有內建 記憶BGM/BGS 與 還原BGM/BGS 功能嗎?
XP内置的记忆和还原BGM脚本如下
记忆BGM
$game_system.bgm_memorize
还原BGM
$game_system.bgm_restore
class Game_System 中
#记忆BGM定义在这
def bgm_memorize
@memorized_bgm = @playing_bgm
end
#@playing_bgm出现在以下
def bgm_play(bgm)
@playing_bgm = bgm
if bgm != nil and bgm.name != ""
Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
else
Audio.bgm_stop
end
Graphics.frame_reset
end
#还原BGM定义在这
def bgm_restore
bgm_play(@memorized_bgm)
end
可见,@memorized_bgm和@playing_bgm 的变量本质上只是一行记录BGM名字的字符串,而还原BGM本质就是重新播放一个BGM
所以,内置记忆还原无法满足我所提出的要求
作者:
guoxiaomi
时间:
2022-8-7 20:44
这个AudioEx脚本还挺有趣的,我学习一下
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1