diff --git a/_docs/api.md b/_docs/api.md
index af535cda..8513751f 100644
--- a/_docs/api.md
+++ b/_docs/api.md
@@ -360,6 +360,11 @@ getNextLvUpNeed: fn() -> number
升级扣除模式下会返回经验差值;非扣除模式下会返回总共需要的经验值。
如果无法进行下次升级,返回null。
+getPlayingSounds: fn(name?: string) -> [number]
+获得当前正在播放的所有(指定)音效的id列表
+name: 音效名,可用别名;不填代表返回正在播放的全部音效
+返回值: 一个列表,每一项为一个正在播放的音效id;可用core.stopSound立刻停止播放
+
getRealStatus: fn(name: string)
计算主角的某个属性,包括百分比修正
例如:core.getRealStatus('atk'); // 计算主角的攻击力,包括百分比修正。战斗使用的就是这个值
@@ -377,11 +382,6 @@ getSaveIndexes: fn(callback?: fn())
getSaves: fn(ids?: ?, callback?: fn())
获得某些存档内容
-getSounds: fn(name?: string) -> [number]
-获得当前正在播放的所有(指定)音效的id列表
-name: 音效名,可用别名;不填代表返回正在播放的全部音效
-返回值: 一个列表,每一项为一个正在播放的音效id;可用core.stopSound立刻停止播放
-
getStatus: fn(name: string) -> number
读取主角的某个属性,不包括百分比修正
例如:core.getStatus('atk'); // 读取主角的攻击力
@@ -1551,11 +1551,6 @@ generateMovableArray: fn(floorId?: string) -> [[[string]]]
floorId: 地图id,不填视为当前地图
返回值:从各点可移动方向的三维数组
-getAnimates: fn(name?: string) -> [number]
-获得当前正在播放的所有(指定)动画的id列表
-name: 动画名;不填代表返回全部正在播放的动画
-返回值: 一个数组,每一项为一个正在播放的动画;可用core.stopAnimate停止播放。
-
getBgMapArray: fn(floorId?: string, noCache?: bool) -> [[number]]
生成背景层矩阵
例如:core.getBgMapArray('MT0'); // 生成主塔0层的背景层矩阵,使用缓存
@@ -1654,6 +1649,11 @@ getNumberById: fn(id: string) -> number
id: 图块id
返回值:图块的数字,定义在project\maps.js(请注意和project\icons.js中的“图块索引”相区分!)
+getPlayingAnimates: fn(name?: string) -> [number]
+获得当前正在播放的所有(指定)动画的id列表
+name: 动画名;不填代表返回全部正在播放的动画
+返回值: 一个数组,每一项为一个正在播放的动画;可用core.stopAnimate停止播放。
+
hideBgFgMap: fn(name?: string, loc?: [number]|[[number]], floorId?: string, callback?: fn())
隐藏前景/背景地图
diff --git a/_docs/instruction.md b/_docs/instruction.md
index 0f8336b7..790473dd 100644
--- a/_docs/instruction.md
+++ b/_docs/instruction.md
@@ -454,8 +454,8 @@ V2.8.1起,“显示选择项”支持限宽和手动指定默认项了(注
* 类似地,如果您在一个异步事件执行完毕之前就结束了整个事件流,让勇士恢复行动,那么可能这些异步事件还没来得及在游戏性方面生效,导致接下来会发生的事取决于玩家操作的时机和勇士的移速。
* 考虑到录像系统,在录像回放时很多耗时的东西和所有需要用户响应的东西会被跳过,勇士的移速又可以很快(倍速播放),导致回放结果和原游戏不一致。
* 总之,当您希望确保一些异步事件完全生效后再开始执行新的指令或结束事件流,“等待所有异步事件执行完毕”就是您的不二之选了,事件编辑器也会在发现缺少本指令时弹窗警告。
- * 动画和V2.8的阻塞音效默认会被等待,V2.8.1提供了两个勾选框允许您不等待它们。
- * 另外,您可以随时使用`core.getAnimates()`和`core.getSounds()`获取当前未结束的所有动画和音效的id(支持自变量填名称来筛选)。
+ * 动画默认会被等待,而音效不会被默认等待;V2.8.1提供了两个勾选框允许您对其进行控制。
+ * 另外,您可以随时使用`core.getPlayAnimates()`和`core.getSounds()`获取当前未结束的所有动画和音效的id(支持自变量填名称来筛选)。
3. **等待用户操作并获得键鼠/触屏信息:**前面提到三种QTE指令,这是最后一种。
* 之前提到的“确认框”和“选择项”可以复现RPG Maker的回合制战斗,但没法做出更复杂的交互界面,比如技能/天赋树,以及样板的道具商店,这就需要用到本指令了。
* 本指令会阻塞事件的执行,直到玩家按下键盘上的某个键(滚轮视为PageUp/PageDown键)、或点击【视野】中的某个点、或经过了超时毫秒数(不设置则不限时)。
diff --git a/_server/CodeMirror/defs.js b/_server/CodeMirror/defs.js
index 236dc58b..0f4a426c 100644
--- a/_server/CodeMirror/defs.js
+++ b/_server/CodeMirror/defs.js
@@ -2196,7 +2196,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
"!doc": "停止播放音效。如果未指定id则停止所有音效,否则只停止指定的音效。",
"!type": "fn(id?: number)"
},
- "getSounds": {
+ "getPlayingSounds": {
"!doc": "获得当前正在播放的所有(指定)音效的id列表
name: 音效名,可用别名;不填代表返回正在播放的全部音效
返回值: 一个列表,每一项为一个正在播放的音效id;可用core.stopSound立刻停止播放",
"!type": "fn(name?: string) -> [number]"
},
@@ -3089,7 +3089,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
"!doc": "立刻停止一个动画播放
id: 播放动画的编号,即drawAnimate或drawHeroAnimate的返回值
doCallback: 是否执行该动画的回调函数",
"!type": "fn(id: number, doCallback?: bool)"
},
- "getAnimates": {
+ "getPlayingAnimates": {
"!doc": "获得当前正在播放的所有(指定)动画的id列表
name: 动画名;不填代表返回全部正在播放的动画
返回值: 一个数组,每一项为一个正在播放的动画;可用core.stopAnimate停止播放。",
"!type": "fn(name?: string) -> [number]"
},
diff --git a/libs/control.js b/libs/control.js
index d86284d5..5558502a 100644
--- a/libs/control.js
+++ b/libs/control.js
@@ -2968,7 +2968,7 @@ control.prototype.stopSound = function (id) {
}
////// 获得当前正在播放的所有(指定)音效的id列表 //////
-control.prototype.getSounds = function (name) {
+control.prototype.getPlayingSounds = function (name) {
name = core.getMappedName(name);
return Object.keys(core.musicStatus.playingSounds).filter(function (one){
return name == null || core.musicStatus.playingSounds[one].__name == name
diff --git a/libs/events.js b/libs/events.js
index 2449a4a2..4bb40132 100644
--- a/libs/events.js
+++ b/libs/events.js
@@ -2495,8 +2495,8 @@ events.prototype._precompile_wait = function (data) {
events.prototype._action_waitAsync = function (data, x, y, prefix) {
var test = window.setInterval(function () {
if (!core.hasAsync()
- && (data.excludeAnimates || core.isReplaying() || core.getAnimates().length == 0)
- && (!data.includeSounds || core.isReplaying() || core.getSounds().length == 0)) {
+ && (data.excludeAnimates || core.isReplaying() || core.getPlayingAnimates().length == 0)
+ && (!data.includeSounds || core.isReplaying() || core.getPlayingSounds().length == 0)) {
clearInterval(test);
core.doAction();
}
diff --git a/libs/maps.js b/libs/maps.js
index 73c62105..11e74997 100644
--- a/libs/maps.js
+++ b/libs/maps.js
@@ -2990,7 +2990,7 @@ maps.prototype.drawHeroAnimate = function (name, callback) {
}
////// 获得当前正在播放的所有(指定)动画的id列表 //////
-maps.prototype.getAnimates = function (name) {
+maps.prototype.getPlayingAnimates = function (name) {
return (core.status.animateObjs || []).filter(function (one) {
return name == null || one.name == name;
}).map(function (one) { return one.id });
diff --git a/runtime.d.ts b/runtime.d.ts
index dcd84326..9b411e29 100644
--- a/runtime.d.ts
+++ b/runtime.d.ts
@@ -795,7 +795,7 @@ declare class control {
stopSound(id?: number): void
/** 获得正在播放的所有(指定)音效的id列表 */
- getSounds(name?: string): Array
+ getPlayingSounds(name?: string): Array
/** 检查bgm状态 */
checkBgm(): void
@@ -1784,7 +1784,7 @@ declare class maps {
stopAnimate(id: number, doCallback?: boolean): void
/** 获得当前正在播放的所有(指定)动画的id列表 */
- getAnimates(name?: string) : Array
+ getPlayingAnimates(name?: string) : Array
/** 加载某个楼层(从剧本或存档中) */
loadFloor(floorId?: string, map?: any): any