playBgm keep
This commit is contained in:
parent
931e24e1da
commit
9619325d12
@ -1433,6 +1433,8 @@ async可选,如果为true则会异步执行(即不等待当前事件执行
|
||||
|
||||
目前支持mp3/ogg/wav等多种格式的音乐播放。
|
||||
|
||||
从V2.6.3开始,还提供了keep项。如果此项为真,则会记录该bgm,并且持续到下次调用本事件位置(楼层切换不改变bgm,读档也有效)。
|
||||
|
||||
有关BGM播放的详细说明参见[背景音乐](element#背景音乐)
|
||||
|
||||
### pauseBgm:暂停背景音乐
|
||||
|
||||
@ -1468,15 +1468,16 @@ return code;
|
||||
*/;
|
||||
|
||||
playBgm_s
|
||||
: '播放背景音乐' EvalString Newline
|
||||
: '播放背景音乐' EvalString '持续到下个本事件' Bool Newline
|
||||
|
||||
|
||||
/* playBgm_s
|
||||
tooltip : playBgm: 播放背景音乐
|
||||
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=playbgm%EF%BC%9A%E6%92%AD%E6%94%BE%E8%83%8C%E6%99%AF%E9%9F%B3%E4%B9%90
|
||||
default : ["bgm.mp3"]
|
||||
default : ["bgm.mp3", true]
|
||||
colour : this.soundColor
|
||||
var code = '{"type": "playBgm", "name": "'+EvalString_0+'"},\n';
|
||||
Bool_0 = Bool_0 ? ', "keep": true' : '';
|
||||
var code = '{"type": "playBgm", "name": "'+EvalString_0+'"'+Bool_0+'},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
@ -3069,7 +3070,7 @@ ActionParser.prototype.parseAction = function() {
|
||||
break;
|
||||
case "playBgm":
|
||||
this.next = MotaActionBlocks['playBgm_s'].xmlText([
|
||||
data.name,this.next]);
|
||||
data.name,data.keep||false,this.next]);
|
||||
break
|
||||
case "pauseBgm":
|
||||
this.next = MotaActionBlocks['pauseBgm_s'].xmlText([
|
||||
|
||||
@ -1261,6 +1261,7 @@ events.prototype._action_insert = function (data, x, y, prefix) {
|
||||
|
||||
events.prototype._action_playBgm = function (data, x, y, prefix) {
|
||||
core.playBgm(data.name);
|
||||
core.setFlag("__bgm__", data.keep ? data.name : null);
|
||||
core.doAction();
|
||||
}
|
||||
|
||||
@ -1820,11 +1821,15 @@ events.prototype.openToolbox = function (fromUserAction) {
|
||||
events.prototype.openQuickShop = function (fromUserAction) {
|
||||
if (core.isReplaying()) return;
|
||||
|
||||
if (Object.keys(core.status.shops).length == 0) {
|
||||
core.drawTip("本塔没有快捷商店!");
|
||||
return;
|
||||
}
|
||||
|
||||
// --- 如果只有一个商店,则直接打开之
|
||||
if (Object.keys(core.status.shops).length == 1) {
|
||||
var shopId = Object.keys(core.status.shops)[0];
|
||||
if (core.status.event.id != null) return;
|
||||
if (!this._checkStatus('shop', false)) return;
|
||||
if (core.status.event.id != null || !this._checkStatus('shop', false)) return;
|
||||
var reason = core.events.canUseQuickShop(shopId);
|
||||
if (!core.flags.enableDisabledShop && reason) {
|
||||
core.drawText(reason);
|
||||
|
||||
@ -142,7 +142,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
if (core.status.maps[floorId].bgm) {
|
||||
var bgm = core.status.maps[floorId].bgm;
|
||||
if (bgm instanceof Array) bgm = bgm[0];
|
||||
core.playBgm(bgm);
|
||||
if (!core.hasFlag("__bgm__")) core.playBgm(bgm);
|
||||
}
|
||||
// 更改画面色调
|
||||
var color = core.getFlag('__color__', null);
|
||||
@ -1004,7 +1004,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// 切换到对应的楼层
|
||||
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
|
||||
// TODO:可以在这里设置读档后播放BGM
|
||||
// if (core.getFlag("bgm", 0)==1) core.playBgm("bgm.mp3");
|
||||
if (core.hasFlag("__bgm__")) { // 持续播放
|
||||
core.playBgm(core.getFlag("__bgm__"));
|
||||
}
|
||||
|
||||
if (callback) callback();
|
||||
}, true);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user