Open book while viewing maps

This commit is contained in:
oc 2018-02-04 16:22:12 +08:00
parent a6045f321d
commit f26293a7ad
5 changed files with 32 additions and 9 deletions

View File

@ -1990,7 +1990,8 @@ core.prototype.stopHero = function () {
core.prototype.drawHero = function (direction, x, y, status, offsetX, offsetY) {
offsetX = offsetX || 0;
offsetY = offsetY || 0;
core.clearAutomaticRouteNode(x, y);
var dx=offsetX==0?0:offsetX/Math.abs(offsetX), dy=offsetY==0?0:offsetY/Math.abs(offsetY);
core.clearAutomaticRouteNode(x+dx, y+dy);
var heroIcon = core.material.icons.hero[direction];
x = x * 32;
y = y * 32;
@ -3948,6 +3949,13 @@ core.prototype.checkStatus = function (name, need, item) {
////// 点击怪物手册时的打开操作 //////
core.prototype.openBook = function (need) {
if (core.isset(core.status.replay)&&core.status.replay.replaying) return;
// 从“浏览地图”页面打开
if (core.status.event.id=='viewMaps') {
need=false;
core.status.event.selection = core.status.event.data;
}
if (!core.checkStatus('book', need, true))
return;
core.useItem('book');

View File

@ -289,10 +289,11 @@ enemys.prototype.calDamage = function (monster, hero_hp, hero_atk, hero_def, her
}
////// 获得当前楼层的怪物列表 //////
enemys.prototype.getCurrentEnemys = function () {
enemys.prototype.getCurrentEnemys = function (floorId) {
floorId=floorId||core.status.floorId;
var enemys = [];
var used = {};
var mapBlocks = core.status.thisMap.blocks;
var mapBlocks = core.status.maps[floorId].blocks;
for (var b = 0; b < mapBlocks.length; b++) {
if (core.isset(mapBlocks[b].event) && !(core.isset(mapBlocks[b].enable) && !mapBlocks[b].enable) && mapBlocks[b].event.cls == 'enemys') {
var monsterId = mapBlocks[b].event.id;

View File

@ -996,7 +996,12 @@ events.prototype.clickBook = function(x,y) {
}
// 返回
if (x>=10 && x<=12 && y==12) {
core.ui.closePanel();
if (core.status.event.selection==null)
core.ui.closePanel();
else {
core.status.boxAnimateObjs = [];
core.ui.drawMaps(core.status.event.selection);
}
return;
}
// 怪物信息
@ -1024,7 +1029,12 @@ events.prototype.keyDownBook = function (keycode) {
////// 怪物手册界面时,放开某个键的操作 //////
events.prototype.keyUpBook = function (keycode) {
if (keycode==27 || keycode==88) {
core.ui.closePanel();
if (core.status.event.selection==null)
core.ui.closePanel();
else {
core.status.boxAnimateObjs = [];
core.ui.drawMaps(core.status.event.selection);
}
return;
}
if (keycode==13 || keycode==32 || keycode==67) {
@ -1099,11 +1109,14 @@ events.prototype.keyDownViewMaps = function (keycode) {
////// 查看地图界面时,放开某个键的操作 //////
events.prototype.keyUpViewMaps = function (keycode) {
if (keycode==27 || keycode==88 || keycode==13 || keycode==32 || keycode==67) {
if (keycode==27 || keycode==13 || keycode==32 || keycode==67) {
core.clearMap('data', 0, 0, 416, 416);
core.setOpacity('data', 1);
core.ui.closePanel();
}
if (keycode==88) {
core.openBook(false);
}
return;
}
@ -1573,7 +1586,7 @@ events.prototype.clickSettings = function (x,y) {
core.drawTip("本塔不允许浏览地图!");
}
else {
core.drawText("\t[系统提示]即将进入浏览地图模式。\n\n点击地图上半部分或按[↑]键可查看前一张地图\n点击地图下半部分或按[↓]键可查看后一张地图\n点击地图中间或按[ESC]键可离开浏览地图模式", function () {
core.drawText("\t[系统提示]即将进入浏览地图模式。\n\n点击地图上半部分或按[↑]键可查看前一张地图\n点击地图下半部分或按[↓]键可查看后一张地图\n点击地图中间或按[ESC]键可离开浏览地图模式\n此模式下可以打开怪物手册以查看某层楼的怪物属性", function () {
core.ui.drawMaps(core.floorIds.indexOf(core.status.floorId));
})
}

View File

@ -749,7 +749,7 @@ ui.prototype.drawCursor = function () {
////// 绘制怪物手册 //////
ui.prototype.drawBook = function (index) {
var enemys = core.enemys.getCurrentEnemys();
var enemys = core.enemys.getCurrentEnemys(core.floorIds[core.status.event.selection]);
var background = core.canvas.ui.createPattern(core.material.ground, "repeat");
clearInterval(core.interval.tipAnimate);

View File

@ -3,10 +3,11 @@
瞬间移动。
单存档同步到服务器,下载到文件和读取。
键盘支持自动寻路操作。
浏览地图模式下可以查看怪物数据。
未成功打怪和开门则不自动存档。
重新支持楼梯穿透。
支持多结局,成绩将分开统计。
重构勇士行走过程和事件检测,大幅提升性能。
重构全局动画、行走动画和行走检测,大幅提升性能。
修复所有已知Bug。
-----------------------------------------------------------------------