Delete single savefile & Add dragon to template

This commit is contained in:
oc 2018-04-18 01:37:57 +08:00
parent 81df4a9b19
commit fb49b62cd1
11 changed files with 183 additions and 115 deletions

View File

@ -1245,10 +1245,12 @@ actions.prototype.clickSL = function(x,y) {
// 上一页
if ((x == 3 || x == 4) && y == 12) {
core.ui.drawSLPanel(10*(page-1)+offset);
return;
}
// 下一页
if ((x == 8 || x == 9) && y == 12) {
core.ui.drawSLPanel(10*(page+1)+offset);
return;
}
// 返回
if (x>=10 && x<=12 && y==12) {
@ -1258,17 +1260,37 @@ actions.prototype.clickSL = function(x,y) {
}
return;
}
// 删除
if (x>=0 && x<=2 && y==12) {
core.status.event.selection=!core.status.event.selection;
core.ui.drawSLPanel(index);
return;
}
var index=6*page+1;
var id=null;
if (y>=1 && y<=4) {
if (x>=1 && x<=3) core.doSL("autoSave", core.status.event.id);
if (x>=5 && x<=7) core.doSL(5*page+1, core.status.event.id);
if (x>=9 && x<=11) core.doSL(5*page+2, core.status.event.id);
if (x>=1 && x<=3) id = "autoSave";
if (x>=5 && x<=7) id = 5*page+1;
if (x>=9 && x<=11) id = 5*page+2;
}
if (y>=7 && y<=10) {
if (x>=1 && x<=3) core.doSL(5*page+3, core.status.event.id);
if (x>=5 && x<=7) core.doSL(5*page+4, core.status.event.id);
if (x>=9 && x<=11) core.doSL(5*page+5, core.status.event.id);
if (x>=1 && x<=3) id = 5*page+3;
if (x>=5 && x<=7) id = 5*page+4;
if (x>=9 && x<=11) id = 5*page+5;
}
if (id!=null) {
if (core.status.event.selection) {
if (id == 'autoSave') {
core.drawTip("无法删除自动存档!");
}
else {
core.removeLocalStorage("save"+id);
core.ui.drawSLPanel(index);
}
}
else {
core.doSL(id, core.status.event.id);
}
}
}
@ -1346,6 +1368,15 @@ actions.prototype.keyUpSL = function (keycode) {
}
return;
}
if (keycode==46) {
if (offset==0) {
core.drawTip("无法删除自动存档!");
}
else {
core.removeLocalStorage("save"+(5*page+offset));
core.ui.drawSLPanel(index);
}
}
}
////// 系统设置界面时的点击操作 //////

View File

@ -123,11 +123,32 @@ events.prototype.lose = function (reason) {
////// 游戏结束 //////
events.prototype.gameOver = function (ending, fromReplay) {
// 下载录像
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);
}
// 上传成绩
var confirmUpload = function () {
core.ui.closePanel();
if (!core.isset(ending)) {
core.restart();
confirmDownload();
return;
}
@ -154,8 +175,7 @@ events.prototype.gameOver = function (ending, fromReplay) {
formData.append('route', core.encodeRoute(core.status.route));
core.http("POST", "/games/upload.php", formData);
core.restart();
confirmDownload();
}
core.ui.drawConfirmBox("你想记录你的ID和成绩吗", function () {
@ -167,30 +187,14 @@ events.prototype.gameOver = function (ending, fromReplay) {
return;
}
// 下载录像
var confirmDownload = function () {
core.ui.closePanel();
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));
confirmUpload();
}, function () {
confirmUpload();
})
}
if (fromReplay) {
core.drawText("录像回放完毕!", function () {
core.restart();
});
}
else {
confirmDownload();
// confirmDownload();
confirmUpload();
}
}

View File

@ -1572,13 +1572,16 @@ ui.prototype.drawSLPanel = function(index) {
var u=416/6, size=118;
var strokeColor = '#FFD700';
if (core.status.event.selection) strokeColor = '#FF6A6A';
var name=core.status.event.id=='save'?"存档":"读档";
for (var i=0;i<6;i++) {
var id=5*page+i;
var data=core.getLocalStorage(i==0?"autoSave":"save"+id, null);
if (i<3) {
core.fillText('ui', i==0?"自动存档":name+id, (2*i+1)*u, 35, '#FFFFFF', "bold 17px Verdana");
core.strokeRect('ui', (2*i+1)*u-size/2, 50, size, size, i==offset?'#FFD700':'#FFFFFF', i==offset?6:2);
core.strokeRect('ui', (2*i+1)*u-size/2, 50, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
if (core.isset(data) && core.isset(data.floorId)) {
this.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i+1)*u-size/2, 50, size, data.hero.loc);
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i+1)*u, 65+size, '#FFFFFF', '10px Verdana');
@ -1590,7 +1593,7 @@ ui.prototype.drawSLPanel = function(index) {
}
else {
core.fillText('ui', name+id, (2*i-5)*u, 230, '#FFFFFF', "bold 17px Verdana");
core.strokeRect('ui', (2*i-5)*u-size/2, 245, size, size, i==offset?'#FFD700':'#FFFFFF', i==offset?6:2);
core.strokeRect('ui', (2*i-5)*u-size/2, 245, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
if (core.isset(data) && core.isset(data.floorId)) {
this.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i-5)*u-size/2, 245, size, data.hero.loc);
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i-5)*u, 260+size, '#FFFFFF', '10px Verdana');
@ -1602,6 +1605,11 @@ ui.prototype.drawSLPanel = function(index) {
}
}
this.drawPagination(page+1, 30);
if (core.status.event.selection)
core.setFillStyle('ui', '#FF6A6A');
core.fillText('ui', '删除模式', 48, 403);
}
////// 绘制一个缩略图 //////

View File

@ -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, 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],
[ 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]
],
"firstArrive": [ // 第一次到该楼层触发的事件
"\t[样板提示]首次到达某层可以触发 firstArrive 事件该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型常常用来触发对话例如",

View File

@ -15,19 +15,19 @@ main.floors.sample1 =
// "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。
"item_ratio": 1, // 该层的宝石/血瓶倍率
"map": [ // 地图数据需要是13x13建议使用地图生成器来生成
[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],
[ 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,151, 0, 0, 0,352,175,171, 0,173,175],
[ 21, 22, 21,151, 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],
[ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0, 0]
],
"firstArrive": [ // 第一次到该楼层触发的事件

View File

@ -15,19 +15,19 @@ main.floors.sample2 =
"bgm": "qianjin.mid", // 到达该层后默认播放的BGM。本项可忽略。
"item_ratio": 1, // 该层的宝石/血瓶倍率
"map": [ // 地图数据需要是13x13建议使用地图生成器来生成
[5, 5, 5, 5, 5, 5, 87, 5, 5, 5, 5, 5, 5],
[5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5],
[5, 4, 4, 4, 4, 1, 85, 1, 4, 4, 4, 4, 5],
[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, 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],
[5, 4, 4, 4, 4, 4, 85, 4, 4, 4, 4, 4, 5],
[5, 5, 5, 5, 5, 5, 88, 5, 5, 5, 5, 5, 5],
[ 5, 5, 5, 5, 5, 5, 87, 5, 5, 5, 5, 5, 5],
[ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5],
[ 5, 4, 4, 4, 4, 1, 85, 1, 4, 4, 4, 4, 5],
[ 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, 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],
[ 5, 4, 4, 4, 4, 4, 85, 4, 4, 4, 4, 4, 5],
[ 5, 5, 5, 5, 5, 5, 88, 5, 5, 5, 5, 5, 5]
],
"firstArrive": [ // 第一次到该楼层触发的事件
"\t[实战!]本楼将尝试复刻《宿命的旋律》40F剧情。"

View File

@ -99,7 +99,23 @@ icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
'wood': 8,
'pinkShop': 9,
'blueShop': 10,
'princess': 11
'princess': 11,
'wlt': 12,
'wt': 13,
'wrt': 14,
'wl': 15,
'wc': 16,
'wr': 17,
'wlb': 18,
'wrb': 19,
'dlt': 20,
'dt': 21,
'drt': 22,
'dl': 23,
'dc': 24,
'dr': 25,
'dlb': 26,
'drb': 27,
},
'npc48': {
'npc0': 0,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -23,10 +23,10 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
// Autotile
'20':{'cls': 'autotile', 'id': 'autotile', 'noPass': true}, // autotile
// 更多的autotile从151到160等只要不和现有的数字冲突即可
'151':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true},
'152':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true},
'153':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true},
// 更多的autotile只要不和现有的数字冲突即可
'351':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true},
'352':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true},
'353':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true},
////////////////////////// 物品部分 //////////////////////////
@ -99,40 +99,54 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
////////////////////////// NPC部分 //////////////////////////
// 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'},
// 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'},
////////////////////////// 其他部分 //////////////////////////
// 161-200 其他(单向箭头、灯、箱子等等)
'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}, // 完成的箱子
// 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}, // 完成的箱子
////////////////////////// 怪物部分 //////////////////////////

View File

@ -1,19 +1,14 @@
HTML5魔塔样板V2.0.2
编辑器添加“新建空白地图”按钮 √
编辑器的地图自动保存 √
大数据魔塔的支持(临界计算等) √
编辑器添加新建和删除按钮;地图自动保存 √
录像支持倒退录像播放中每50步自动存档最多存20个
支持用gif动图作为某层楼的背景图
APP端也能下载录像
图片显示增加淡入淡出效果
录像的倒退
地图临界显伤 √
单个存档清理
魔龙和章鱼添加到样板
大数据魔塔的显示 √
修改999999999的上界问题 √
修复有时候无法输入ID的问题
修复坐标等不能为负数的问题 √
单个存档清理 √
大数据魔塔的支持(临界计算等) √
修复有时候无法输入ID的问题 √
其他细节优化
-----------------------------------------------------------------------