Project1

标题: 又又出问题了,我想要实现开关地图内已在播放的电视 [打印本页]

作者: 蜜橘团子    时间: 2022-11-14 01:17
标题: 又又出问题了,我想要实现开关地图内已在播放的电视
本帖最后由 蜜橘团子 于 2022-11-14 01:30 编辑

是这样的 ,这是一种很正常单纯的现实的一种普遍的现象

我去别人的房子,某个人已在某个房间内看电视,我可以过去关闭电视,也可以再打开电视,这很平凡

回到游戏内

电视并不是BGM,不能盖过城市的声音,只是一种家具的音效,不具备改变世界或领域的效果,它最多是bgs,我不知道那是什么,但应该就是

我要在游戏内,实现一个房间内已经提前开启好,正在播放的电视的声音(持续播放声音)

并且我还能关闭这个电视(同时消除声音),再开启这个电视(继续持续播放声音)

这听起来并不困难,这个流程在现实里都是再正常不过的事了!甚至没有人觉得会奇怪,至少在我的环境是这样

但我很愚蠢就是做不出来!!!我不知道怎么能够正常美丽的运行!

请救救我!请帮助我,上次的宝宝我也很期待!


抱歉,我没有给出项目,而且我已经做烂了,我的需求不是一个孤高或独立自主的一种情节,我相信它应该是一种大家都能很好分辨清晰的普遍的现象

下面只是用来参考的,上面是我的单纯的目的,如果能直接实现就不用看我的不良好的做法了!
电视首先我用了独立开关ababab循环

之后额外一个事件
我试过用SE,如果并行播放SE会卡,如果设置等待时间,时间和SE时长对不上会重叠,如果对得上那就很长,关闭电视的瞬间,声音会有很长的延迟
如果电视内加入关闭SE,那开启后就没有声音了,我不知道怎么肥事,而且我感觉并行播放SE这种行为就很吓人和不正确,歪曲,我不想这样

之后我把电视声音放入bgs,好了因为bgs的机制,这就正常了,但!这个该死的房间很怪,它有三个门!他可能是一个客厅,可能是客厅的电视

我如果离开房间,电视声音还在播放!如果有机会,我不想在一个有三个门的房间,给它搞很多个地雷,让他关闭关于电视bgs的事情,我可能会做得很差,不好

请教我关于这个寻常的电视机的更好的事情和做法,让我参考学习吧!

谢谢!

这样我就可以做其他的类似电视机的,像是欧洲恐怖鬼豪宅的网易云留声机,或是僵尸在啃食尸体旁边沙沙的末日收音机,等相同的现象!
我想都关闭和开启它们!这很有趣,也很正常和科学!

作者: loveinyou200    时间: 2022-11-14 01:17
用BGS没有错,只是MV没有自带的BGS存储及重播指令,因此需要用脚本来完成。

创建一个离开房间/关闭电视的事件,输入以下脚本:
window.song = AudioManager.saveBgs();
AudioManager.fadeOutBgs(2);
创建全局对象song(你可以自行更改对象名),并把当下BGS的播放存储给song,然后淡出BGS(括号内的是秒数,你可以根据需求修改)。

创建回到房间/打开电视的事件,输入以下脚本:
AudioManager.replayBgs(window.song);
继续播放刚才存储给song的BGS。

这样就能实现你关闭电视/离开房间时,淡出BGS,打开电视/回到房间时,继续播放BGS的效果。

另外提醒一下,初次进入房间时,因为没有赋值song,因此直接调用重播指令会报错,所以需要先设置一个初次开始播放BGS的事件,播放后,打开独立开关A,在事件的后一页使用重播指令,出现条件设定为独立开关A为ON,这样就能确保初次进入是播放,后续每次的进入为继续播放。
作者: 蜜橘团子    时间: 2022-11-14 16:14
loveinyou200 发表于 2022-11-14 01:17
用BGS没有错,只是MV没有自带的BGS存储及重播指令,因此需要用脚本来完成。

创建一个离开房间/关闭电视的 ...

诶嘿嘿嘿
但是怎么改变对象名字鸭!

改哪里好像都没有作用了啊
作者: 蜜橘团子    时间: 2022-11-14 16:24
loveinyou200 发表于 2022-11-14 01:17
用BGS没有错,只是MV没有自带的BGS存储及重播指令,因此需要用脚本来完成。

创建一个离开房间/关闭电视的 ...

现在有用了!!一开始的命令忘记给改了名字的声音赋值




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1