diff --git a/docs/api.md b/docs/api.md index c0e61ca0..699407e0 100644 --- a/docs/api.md +++ b/docs/api.md @@ -225,10 +225,15 @@ core.showBlock(x, y, floorId) 将某个点从禁用变成启用状态。 +core.hideBlock(x, y, floorId) +将某个点从启用变成禁用状态,但不会对其进行删除。 +此函数不会实际将该块从地图中进行删除,而是将该点设置为禁用,以供以后可能的启用事件。 + + core.removeBlock(x, y, floorId) -将某个点删除或从启用变成禁用状态。 -如果该点不存在自定义事件(比如普通的怪物),则将直接从地图中删除。 -否则将该点设置为禁用,以供以后可能的启用事件。 +将从启用变成禁用状态,并尽可能将其从地图上删除。 +和hideBlock相比,如果该点不存在自定义事件(比如门或普通的怪物),则将直接从地图中删除。 +如果存在自定义事件,则简单的禁用它,以供以后可能的启用事件。 core.setBlock(number, x, y, floorId) diff --git a/libs/core.js b/libs/core.js index e049fe92..0c8ec1c2 100644 --- a/libs/core.js +++ b/libs/core.js @@ -723,7 +723,12 @@ core.prototype.showBlock = function(x, y, floodId) { core.maps.showBlock(x,y,floodId); } -////// 将某个块从启用变成禁用状态 ////// +////// 将某个块从启用变成禁用状态,但是并不删除它 ////// +core.prototype.hideBlock = function(x, y, floorId) { + core.maps.hideBlock(x,y,floorId); +} + +////// 将某个块从启用变成禁用状态,并删除该块 ////// core.prototype.removeBlock = function (x, y, floorId) { core.maps.removeBlock(x,y,floorId); } diff --git a/libs/events.js b/libs/events.js index 177d6d3e..e7246359 100644 --- a/libs/events.js +++ b/libs/events.js @@ -393,7 +393,7 @@ events.prototype.doAction = function() { data.loc = [[core.calValue(data.loc[0]), core.calValue(data.loc[1])]]; if (core.isset(data.time) && data.time>0 && (!core.isset(data.floorId) || data.floorId==core.status.floorId)) { data.loc.forEach(function (t) { - core.maps.eraseBlock(t[0],t[1],data.floorId); + core.hideBlock(t[0],t[1],data.floorId); }) core.animateBlock(data.loc,'hide',data.time, function () { data.loc.forEach(function (t) { diff --git a/libs/maps.js b/libs/maps.js index dc61a904..8c6157aa 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -1011,7 +1011,7 @@ maps.prototype.showBlock = function(x, y, floodId) { } ////// 只隐藏但不删除某块 ////// -maps.prototype.eraseBlock = function (x, y, floorId) { +maps.prototype.hideBlock = function (x, y, floorId) { floorId = floorId || core.status.floorId; var block = core.getBlock(x,y,floorId,true);