From ae149c56d3e7c823165d34cbdf27ad28904a9229 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 11 May 2018 18:32:46 +0800 Subject: [PATCH 1/2] Update API --- docs/start.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/start.md b/docs/start.md index d6d80fd6..5027077e 100644 --- a/docs/start.md +++ b/docs/start.md @@ -178,19 +178,28 @@ HTML5的塔都是可以进行控制台调试的。 在控制台中,我们可以输入一些命令对游戏进行调试,常见的命令有: +- `core.status.floorId` 获得当前层的floorId。 +- `core.status.thisMap` 获得当前地图信息。 +- `core.status.hero` 获得当前勇士状态信息。例如core.status.hero.atk就是当前勇士的攻击力数值。 +- `core.material.enemys` 获得所有怪物信息。例如core.material.enemys.greenSlime就是获得绿色史莱姆的属性数据。 +- `core.material.items` 获得所有道具的信息。 - `core.debug()` 无敌模式;使用此命令将会把攻防都置为10000,方便进行乱撞。 -- `core.setStatus('atk', 100)` 直接设置勇士的属性;这里可以把`atk`换成`hp`, `def`, `mdef`, `money`, `experience`等之一。 -- `core.getStatus('atk')` 获得勇士的属性数据。 +- `core.updateStatusBar()` 立刻更新状态栏和地图显伤。 +- `core.setStatus('atk', 100)` 直接设置勇士的属性。本句等价于 `core.status.hero.atk = 1000` +- `core.getStatus('atk')` 返回当前属性数值。本句等价于 `core.status.hero.atk` - `core.setItem('pickaxe', 10)` 直接设置勇士某个道具的个数。这里可以需要写道具的ID。 +- `core.hasItem('pickaxe')` 返回勇士是否拥有某个道具。 - `core.itemCount('pickaxe')` 获得勇士某个道具的个数。请注意不是getItem,那个函数是用来游戏中获取道具的。 - `core.setFlag('xxx', 1)` 设置某个flag/自定义变量的值 - `core.getFlag('xxx', 10)` 获得某个flag/自定义变量的值;如果该项不存在(未被定义),则返回第二个参数的值。 +- `core.hasFlag('xxx')` 返回是否存在某个变量且不为0。 - `core.insertAction(list)` 执行一段自定义事件。比如 `core.insertAction(["你好"])` 将执行一个剧情文本显示事件。 - `core.status.floorId` 获得当前层的floorId -- `core.changeFloor('MT2')` 立刻执行楼层切换到MT2层。 +- `core.changeFloor('MT2', 'downFloor')` 立刻执行楼层切换到MT2层的下楼点位置。 - `core.getBlock(3, 5, 'MT1')` 获得当前地图上某一个块的信息。第三个参数为floorId,可省略表示当前楼层。 - `core.resetMap()` 重置当前层地图。当修改地图后,再读档时修改的地图不会立刻生效,此时可以使用resetMap来重置当前楼层的地图。 -…… +- `localStorage` 获得所有的存档数据。可以用 `core.getLocalStorage('save1')` 来具体获得某个存档。 +- …… 更多API和详细参数介绍可参见[API列表](api)。 From 6dea0e17526a8c67b51a54ea63770fcdda148575 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 11 May 2018 20:19:37 +0800 Subject: [PATCH 2/2] no cache --- docs/index.html | 9 ++++-- docs/serviceWorker.js | 75 ------------------------------------------- docs/start.md | 2 ++ 更新说明.txt | 5 +-- 4 files changed, 12 insertions(+), 79 deletions(-) delete mode 100644 docs/serviceWorker.js diff --git a/docs/index.html b/docs/index.html index f29c2402..cb5df153 100644 --- a/docs/index.html +++ b/docs/index.html @@ -44,8 +44,13 @@ mergeNavbar: true, formatUpdated: '{YYYY}-{MM}-{DD} {HH}:{mm}:{ss}', } - if (typeof navigator.serviceWorker !== 'undefined') { - navigator.serviceWorker.register('serviceWorker.js') + if (navigator.serviceWorker) { + navigator.serviceWorker.getRegistrations() + .then(function(registrations) { + for(let registration of registrations) { + registration.unregister(); + } + }); } diff --git a/docs/serviceWorker.js b/docs/serviceWorker.js deleted file mode 100644 index 34634e1e..00000000 --- a/docs/serviceWorker.js +++ /dev/null @@ -1,75 +0,0 @@ -const RUNTIME = 'docsify' -const HOSTNAME_WHITELIST = [ - self.location.hostname, - 'fonts.gstatic.com', - 'fonts.googleapis.com', - 'cdn.bootcss.com' -] - -// The Util Function to hack URLs of intercepted requests -const getFixedUrl = (req) => { - var now = Date.now() - var url = new URL(req.url) - - // 1. fixed http URL - // Just keep syncing with location.protocol - // fetch(httpURL) belongs to active mixed content. - // And fetch(httpRequest) is not supported yet. - url.protocol = self.location.protocol - - // 2. add query for caching-busting. - // Github Pages served with Cache-Control: max-age=600 - // max-age on mutable content is error-prone, with SW life of bugs can even extend. - // Until cache mode of Fetch API landed, we have to workaround cache-busting with query string. - // Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190 - if (url.hostname === self.location.hostname) { - url.search += (url.search ? '&' : '?') + 'cache-bust=' + now - } - return url.href -} - -/** - * @Lifecycle Activate - * New one activated when old isnt being used. - * - * waitUntil(): activating ====> activated - */ -self.addEventListener('activate', event => { - event.waitUntil(self.clients.claim()) -}) - -/** - * @Functional Fetch - * All network requests are being intercepted here. - * - * void respondWith(Promise r) - */ -self.addEventListener('fetch', event => { - // Skip some of cross-origin requests, like those for Google Analytics. - if (HOSTNAME_WHITELIST.indexOf(new URL(event.request.url).hostname) > -1) { - // Stale-while-revalidate - // similar to HTTP's stale-while-revalidate: https://www.mnot.net/blog/2007/12/12/stale - // Upgrade from Jake's to Surma's: https://gist.github.com/surma/eb441223daaedf880801ad80006389f1 - const cached = caches.match(event.request) - const fixedUrl = getFixedUrl(event.request) - const fetched = fetch(fixedUrl, { cache: 'no-store' }) - const fetchedCopy = fetched.then(resp => resp.clone()) - - // Call respondWith() with whatever we get first. - // If the fetch fails (e.g disconnected), wait for the cache. - // If there’s nothing in cache, wait for the fetch. - // If neither yields a response, return offline pages. - event.respondWith( - Promise.race([fetched.catch(_ => cached), cached]) -.then(resp => resp || fetched) -.catch(_ => { /* eat any errors */ }) -) - - // Update the cache with the version we fetched (only for ok status) - event.waitUntil( - Promise.all([fetchedCopy, caches.open(RUNTIME)]) - .then(([response, cache]) => response.ok && cache.put(event.request, response)) - .catch(_ => { /* eat any errors */ }) -) -} -}) \ No newline at end of file diff --git a/docs/start.md b/docs/start.md index 5027077e..160417f9 100644 --- a/docs/start.md +++ b/docs/start.md @@ -44,6 +44,8 @@ 如果提示“该素材未被定义”或有红色问号框,请参见[素材注册](#素材注册)。 +绘制地图时可以右键弹出菜单,移动图块和事件。 + ### 从RMXP导入已有的地图 如果我们想复刻一个现有的,已经被RMXP所制作的塔,也有很便捷的方式,那就是用到我们的“地图生成器”。 diff --git a/更新说明.txt b/更新说明.txt index fbdb7e9e..7fd97858 100644 --- a/更新说明.txt +++ b/更新说明.txt @@ -1,11 +1,12 @@ HTML5魔塔样板V2.2.1 +地图编辑器可以右键复制或移动图块 √ +事件:while循环处理 √ 衰弱减少攻防的比例 √ -while循环事件 √ 地图数据统计 最大存档个数提到main处理 √ 新建地图可以保留楼层属性 √ -自定义装备的教程(个性化 - 自定义装备) √ +增添自定义装备的教程(个性化-自定义装备) √ 重写教程的快速上手 √ 部分Bug修复 √