diff --git a/_server/editor_mode.js b/_server/editor_mode.js index 984ad072..a754ad2a 100644 --- a/_server/editor_mode.js +++ b/_server/editor_mode.js @@ -435,6 +435,10 @@ editor_mode = function (editor) { var newFileName = document.getElementById('newFileName'); newMap.onclick = function () { if (!newFileName.value) return; + if (core.floorIds.indexOf(newFileName.value)>=0) { + printe("该楼层已存在!"); + return; + } editor_mode.onmode(''); editor.file.saveNewFile(newFileName.value, function (err) { if (err) { diff --git a/libs/events.js b/libs/events.js index 0118fb00..f1e26f9c 100644 --- a/libs/events.js +++ b/libs/events.js @@ -132,24 +132,25 @@ events.prototype.gameOver = function (ending, fromReplay) { core.animateFrame.weather.level = 0; core.animateFrame.weather.nodes = []; core.setFg(null, 0); + core.ui.closePanel(); // 下载录像 var confirmDownload = function () { + core.ui.closePanel(); - setTimeout(function () { - core.ui.drawConfirmBox("你想下载录像吗?", function () { - var obj = { - 'name': core.firstData.name, - 'version': core.firstData.version, - 'hard': core.status.hard, - 'route': core.encodeRoute(core.status.route) - } - core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5route", JSON.stringify(obj)); - core.restart(); - }, function () { - core.restart(); - }) - }, 150); + core.ui.drawConfirmBox("你想下载录像吗?", function () { + var obj = { + 'name': core.firstData.name, + 'version': core.firstData.version, + 'hard': core.status.hard, + 'route': core.encodeRoute(core.status.route) + } + core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5route", JSON.stringify(obj)); + core.restart(); + }, function () { + core.restart(); + }) + } // 上传成绩 @@ -185,7 +186,10 @@ events.prototype.gameOver = function (ending, fromReplay) { formData.append('route', core.encodeRoute(core.status.route)); core.http("POST", "/games/upload.php", formData); - confirmDownload(); + + setTimeout(function() { + confirmDownload(); + }, 150); } core.ui.drawConfirmBox("你想记录你的ID和成绩吗?", function () { @@ -203,7 +207,6 @@ events.prototype.gameOver = function (ending, fromReplay) { }); } else { - // confirmDownload(); confirmUpload(); } diff --git a/project/floors/sample0.js b/project/floors/sample0.js index 7b75facb..78e04a85 100644 --- a/project/floors/sample0.js +++ b/project/floors/sample0.js @@ -15,19 +15,19 @@ main.floors.sample0 = "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 "item_ratio": 2, // 该层的宝石/血瓶倍率 "map": [ // 地图数据,需要是13x13,建议使用地图生成器来生成 - [ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], - [ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], - [219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], - [ 20, 20,115, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], - [216,247,263,235,248, 6, 0, 3, 49, 50, 51, 52, 38], - [ 6, 6,115, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], - [224,254,212,262,204, 5, 0, 1, 31, 32, 34, 33, 36], - [201,261,217,264,207, 5, 0, 1, 27, 28, 29, 30, 35], - [ 5, 5,115, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], - [ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,111, 1, 1], - [ 4, 4,139, 4, 4, 4, 0, 0, 0, 0, 0, 85,114], - [ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,112, 2, 2], - [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] + [0, 0, 220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], + [0, 246, 0, 246, 0, 20, 0, 3, 58, 59, 60, 61, 41], + [219, 0, 0, 0, 219, 20, 0, 3, 57, 26, 62, 63, 40], + [20, 20, 125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], + [216, 247, 263, 235, 248, 6, 0, 3, 49, 50, 51, 52, 38], + [6, 6, 125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], + [224, 254, 212, 262, 204, 5, 0, 1, 31, 32, 34, 33, 36], + [201, 261, 217, 264, 207, 5, 0, 1, 27, 28, 29, 30, 35], + [5, 5, 125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], + [0, 0, 237, 0, 0, 0, 45, 1, 1, 1, 121, 1, 1], + [4, 4, 133, 4, 4, 4, 0, 0, 0, 0, 0, 85, 124], + [87, 11, 12, 13, 14, 4, 4, 2, 2, 2, 122, 2, 2], + [88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86], ], "firstArrive": [ // 第一次到该楼层触发的事件 "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", @@ -118,4 +118,3 @@ main.floors.sample0 = }, } - diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 90dedf71..54098420 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -15,18 +15,18 @@ main.floors.sample1 = // "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 "item_ratio": 1, // 该层的宝石/血瓶倍率 "map": [ // 地图数据,需要是13x13,建议使用地图生成器来生成 - [ 7,121, 8,152, 9,120, 10,352,176,175,122,175,176], - [ 0, 0, 0, 0, 0, 0, 0,352,175,174, 0,172,175], - [352,352,352,352,111,352,352,352, 0, 0,229, 0, 0], - [ 43, 33, 44,351, 0, 0, 0,352,175,171, 0,173,175], - [ 21, 22, 21,351, 0, 0, 0,352,176,175, 0,175,176], - [351,245,351,351, 0, 87, 0,352,352,352, 85,353,353], - [ 0,246, 0,351, 0, 0, 0,352,152,221, 0,221,353], - [246, 0,246,351, 0, 0, 0,111, 85, 0, 0, 0,353], - [351,246,351,351, 0,353,353,353,353,353,353,353,353], - [ 0, 0, 0, 0, 0, 0, 0,174, 0, 0,173, 0, 0], - [ 1, 1, 1, 1, 0, 20, 0, 0, 0,172, 0,171, 0], - [ 1, 0,113, 1, 0, 20,114, 0,111, 0,112, 0,116], + [ 7,131, 8,152, 9,130, 10,152,166,165,132,165,166], + [ 0, 0, 0, 0, 0, 0, 0,152,165,164, 0,162,165], + [152,152,152,152,121,152,152,152, 0, 0,229, 0, 0], + [ 43, 33, 44,151, 0, 0, 0,152,165,161, 0,163,165], + [ 21, 22, 21,151, 0, 0, 0,152,166,165, 0,165,166], + [151,245,151,151, 0, 87, 0,152,152,152, 85,153,153], + [ 0,246, 0,151, 0, 0, 0,152,152,221, 0,221,153], + [246, 0,246,151, 0, 0, 0,121, 85, 0, 0, 0,153], + [151,246,151,151, 0,153,153,153,153,153,153,153,153], + [ 0, 0, 0, 0, 0, 0, 0,164, 0, 0,163, 0, 0], + [ 1, 1, 1, 1, 0, 20, 0, 0, 0,162, 0,161, 0], + [ 1, 0,123, 1, 0, 20,124, 0,121, 0,122, 0,126], [ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0, 0] ], "firstArrive": [ // 第一次到该楼层触发的事件 diff --git a/project/floors/sample2.js b/project/floors/sample2.js index 8467f162..666e5f64 100644 --- a/project/floors/sample2.js +++ b/project/floors/sample2.js @@ -21,8 +21,8 @@ main.floors.sample2 = [ 5, 4, 4, 4,247, 1,247, 1,247, 4, 4, 4, 5], [ 5, 4, 4, 4, 1,247,247,247, 1, 4, 4, 4, 5], [ 5, 4, 4, 4, 1,247, 30,247, 1, 4, 4, 4, 5], - [ 5, 4, 4, 4,247, 1,114, 1,247, 4, 4, 4, 5], - [ 5, 4, 4, 4, 4, 1,113, 1, 4, 4, 4, 4, 5], + [ 5, 4, 4, 4,247, 1,124, 1,247, 4, 4, 4, 5], + [ 5, 4, 4, 4, 4, 1,123, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 5], diff --git a/project/images/icons.png b/project/images/icons.png index f0539b24..dbd9658b 100644 Binary files a/project/images/icons.png and b/project/images/icons.png differ diff --git a/project/maps.js b/project/maps.js index 45641367..07484df7 100644 --- a/project/maps.js +++ b/project/maps.js @@ -23,10 +23,10 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e = // Autotile '20':{'cls': 'autotile', 'id': 'autotile', 'noPass': true}, // autotile - // 更多的autotile只要不和现有的数字冲突即可 - '351':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true}, - '352':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true}, - '353':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true}, + // 更多的autotile从151到160等,只要不和现有的数字冲突即可 + '151':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true}, + '152':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true}, + '153':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true}, ////////////////////////// 物品部分 ////////////////////////// @@ -99,54 +99,55 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e = ////////////////////////// NPC部分 ////////////////////////// - // 111-150 NPC - '111':{'cls': 'npcs', 'id': 'man'}, - '112':{'cls': 'npcs', 'id': 'woman'}, - '113':{'cls': 'npcs', 'id': 'thief'}, - '114':{'cls': 'npcs', 'id': 'fairy'}, - '115':{'cls': 'npcs', 'id': 'magician'}, - '116':{'cls': 'npcs', 'id': 'womanMagician'}, - '117':{'cls': 'npcs', 'id': 'oldMan'}, - '118':{'cls': 'npcs', 'id': 'child'}, - '119':{'cls': 'npcs', 'id': 'wood'}, - '120':{'cls': 'npcs', 'id': 'pinkShop'}, - '121':{'cls': 'npcs', 'id': 'blueShop'}, - '122':{'cls': 'npcs', 'id': 'princess'}, - '123': {'cls': 'npcs', 'id': 'wlt'}, - '124': {'cls': 'npcs', 'id': 'wt'}, - '125': {'cls': 'npcs', 'id': 'wrt'}, - '126': {'cls': 'npcs', 'id': 'wl'}, - '127': {'cls': 'npcs', 'id': 'wc'}, - '128': {'cls': 'npcs', 'id': 'wr'}, - '129': {'cls': 'npcs', 'id': 'wlb'}, - '130': {'cls': 'npcs', 'id': 'wrb'}, - '131': {'cls': 'npcs', 'id': 'dlt'}, - '132': {'cls': 'npcs', 'id': 'dt'}, - '133': {'cls': 'npcs', 'id': 'drt'}, - '134': {'cls': 'npcs', 'id': 'dl'}, - '135': {'cls': 'npcs', 'id': 'dc'}, - '136': {'cls': 'npcs', 'id': 'dr'}, - '137': {'cls': 'npcs', 'id': 'dlb'}, - '138': {'cls': 'npcs', 'id': 'drb'}, - '139': {'cls': 'npc48', 'id': 'npc0'}, - '140': {'cls': 'npc48', 'id': 'npc1'}, - '141': {'cls': 'npc48', 'id': 'npc2'}, - '142': {'cls': 'npc48', 'id': 'npc3'}, - '143': {'cls': 'npc48', 'id': 'npc4'}, + // 121-150 NPC + '121':{'cls': 'npcs', 'id': 'man'}, + '122':{'cls': 'npcs', 'id': 'woman'}, + '123':{'cls': 'npcs', 'id': 'thief'}, + '124':{'cls': 'npcs', 'id': 'fairy'}, + '125':{'cls': 'npcs', 'id': 'magician'}, + '126':{'cls': 'npcs', 'id': 'womanMagician'}, + '127':{'cls': 'npcs', 'id': 'oldMan'}, + '128':{'cls': 'npcs', 'id': 'child'}, + '129':{'cls': 'npcs', 'id': 'wood'}, + '130':{'cls': 'npcs', 'id': 'pinkShop'}, + '131':{'cls': 'npcs', 'id': 'blueShop'}, + '132':{'cls': 'npcs', 'id': 'princess'}, + '133': {'cls': 'npc48', 'id': 'npc0'}, + '134': {'cls': 'npc48', 'id': 'npc1'}, + '135': {'cls': 'npc48', 'id': 'npc2'}, + '136': {'cls': 'npc48', 'id': 'npc3'}, + '137': {'cls': 'npc48', 'id': 'npc4'}, + + '181': {'cls': 'npcs', 'id': 'wlt'}, + '182': {'cls': 'npcs', 'id': 'wt'}, + '183': {'cls': 'npcs', 'id': 'wrt'}, + '184': {'cls': 'npcs', 'id': 'wl'}, + '185': {'cls': 'npcs', 'id': 'wc'}, + '186': {'cls': 'npcs', 'id': 'wr'}, + '187': {'cls': 'npcs', 'id': 'wlb'}, + '188': {'cls': 'npcs', 'id': 'wrb'}, + '189': {'cls': 'npcs', 'id': 'dlt'}, + '190': {'cls': 'npcs', 'id': 'dt'}, + '191': {'cls': 'npcs', 'id': 'drt'}, + '192': {'cls': 'npcs', 'id': 'dl'}, + '193': {'cls': 'npcs', 'id': 'dc'}, + '194': {'cls': 'npcs', 'id': 'dr'}, + '195': {'cls': 'npcs', 'id': 'dlb'}, + '196': {'cls': 'npcs', 'id': 'drb'}, ////////////////////////// 其他部分 ////////////////////////// // 171-200 其他(单向箭头、灯、箱子等等) - '171':{'cls': 'terrains', 'id': 'arrowUp', 'noPass': false}, // 单向上箭头 - '172':{'cls': 'terrains', 'id': 'arrowDown', 'noPass': false}, // 单向下箭头 - '173':{'cls': 'terrains', 'id': 'arrowLeft', 'noPass': false}, // 单向左箭头 - '174':{'cls': 'terrains', 'id': 'arrowRight', 'noPass': false}, // 单向右箭头 - '175':{'cls': 'terrains', 'id': 'light', 'trigger': 'changeLight', 'noPass': false}, // 灯 - '176':{'cls': 'terrains', 'id': 'darkLight', 'noPass': true}, // 暗灯 - '177':{'cls': 'terrains', 'id': 'ski', 'trigger': 'ski', 'noPass': false}, // 滑冰 - '178':{'cls': 'terrains', 'id': 'flower', 'noPass': false}, // 花 - '179':{'cls': 'terrains', 'id': 'box', 'trigger': 'pushBox', 'noPass': true}, // 箱子 - '180':{'cls': 'terrains', 'id': 'boxed', 'trigger': 'pushBox', 'noPass': true}, // 完成的箱子 + '161':{'cls': 'terrains', 'id': 'arrowUp', 'noPass': false}, // 单向上箭头 + '162':{'cls': 'terrains', 'id': 'arrowDown', 'noPass': false}, // 单向下箭头 + '163':{'cls': 'terrains', 'id': 'arrowLeft', 'noPass': false}, // 单向左箭头 + '164':{'cls': 'terrains', 'id': 'arrowRight', 'noPass': false}, // 单向右箭头 + '165':{'cls': 'terrains', 'id': 'light', 'trigger': 'changeLight', 'noPass': false}, // 灯 + '166':{'cls': 'terrains', 'id': 'darkLight', 'noPass': true}, // 暗灯 + '167':{'cls': 'terrains', 'id': 'ski', 'trigger': 'ski', 'noPass': false}, // 滑冰 + '168':{'cls': 'terrains', 'id': 'flower', 'noPass': false}, // 花 + '169':{'cls': 'terrains', 'id': 'box', 'trigger': 'pushBox', 'noPass': true}, // 箱子 + '170':{'cls': 'terrains', 'id': 'boxed', 'trigger': 'pushBox', 'noPass': true}, // 完成的箱子 ////////////////////////// 怪物部分 //////////////////////////