diff --git a/docs/personalization.md b/docs/personalization.md
index 5a957c5b..6529ed3b 100644
--- a/docs/personalization.md
+++ b/docs/personalization.md
@@ -594,7 +594,7 @@ this.myfunc = function(x) {
```
3. 在editor.html中的statusBar(323行起),仿照第二点同样添加;这一项如果不进行则会地图编辑器报错。editor-mobile.html同理。
-4. 使用便捷PS工具,打开icons.png,新增一行并将魔力的图标P上去;记下其索引比如30(从0开始数)。
+4. 使用便捷PS工具,打开icons.png,新增一行并将魔力的图标P上去;记下其索引比如37(从0开始数)。
5. 在main.js的this.statusBar中增加图片、图标和内容的定义。
``` js
this.statusBar = {
diff --git a/index.html b/index.html
index 2a05eb95..4e65f98a 100644
--- a/index.html
+++ b/index.html
@@ -118,6 +118,13 @@
+
+
+
+
+
+
+
diff --git a/libs/control.js b/libs/control.js
index bd4de898..d81ae7bd 100644
--- a/libs/control.js
+++ b/libs/control.js
@@ -2778,7 +2778,8 @@ control.prototype.triggerStatusBar = function (name) {
if (name!='hide') name='show';
var statusItems = core.dom.status;
var toolItems = core.dom.tools;
- if (name == 'hide') {
+ core.domStyle.showStatusBar = name == 'show';
+ if (!core.domStyle.showStatusBar) {
for (var i = 0; i < statusItems.length; ++i)
statusItems[i].style.opacity = 0;
for (var i = 0; i < toolItems.length; ++i)
@@ -2787,10 +2788,7 @@ control.prototype.triggerStatusBar = function (name) {
else {
for (var i = 0; i < statusItems.length; ++i)
statusItems[i].style.opacity = 1;
- for (var i = 0; i < toolItems.length; ++i)
- toolItems[i].style.display = 'block';
- if (core.domStyle.screenMode != 'vertical')
- core.statusBar.image.shop.style.display = 'none';
+ this.setToolbarButton(false);
}
}
@@ -2872,6 +2870,33 @@ control.prototype.updateGlobalAttribute = function (name) {
}
}
+////// 改变工具栏为按钮1-7 //////
+control.prototype.setToolbarButton = function (useButton) {
+ if (!core.domStyle.showStatusBar) return;
+
+ if (!core.isset(useButton)) useButton = core.domStyle.toolbarBtn;
+ if (core.domStyle.screenMode != 'vertical') useButton = false;
+
+ core.domStyle.toolbarBtn = useButton;
+ if (useButton) {
+ ["book","fly","toolbox","shop","save","load","settings"].forEach(function (t) {
+ core.statusBar.image[t].style.display = 'none';
+ });
+ ["btn1","btn2","btn3","btn4","btn5","btn6","btn7"].forEach(function (t) {
+ core.statusBar.image[t].style.display = 'block';
+ })
+ }
+ else {
+ ["btn1","btn2","btn3","btn4","btn5","btn6","btn7"].forEach(function (t) {
+ core.statusBar.image[t].style.display = 'none';
+ });
+ ["book","fly","toolbox","shop","save","load","settings"].forEach(function (t) {
+ core.statusBar.image[t].style.display = 'block';
+ });
+ core.statusBar.image.shop.style.display = core.domStyle.screenMode != 'vertical' ? "none":"block";
+ }
+}
+
////// 屏幕分辨率改变后重新自适应 //////
control.prototype.resize = function(clientWidth, clientHeight) {
if (main.mode=='editor')return;
@@ -2934,6 +2959,8 @@ control.prototype.resize = function(clientWidth, clientHeight) {
var zoom = (ADAPT_WIDTH - width) / 4.22;
var aScale = 1 - zoom / 100;
+ core.domStyle.toolbarBtn = false;
+
// 移动端
if (width < CHANGE_WIDTH) {
if(width < ADAPT_WIDTH){
@@ -3172,7 +3199,7 @@ control.prototype.resize = function(clientWidth, clientHeight) {
{
imgId: 'shop',
rules:{
- display: shopDisplay
+ display: shopDisplay && core.domStyle.showStatusBar
}
},
{
@@ -3262,6 +3289,7 @@ control.prototype.resize = function(clientWidth, clientHeight) {
},
]
core.domRenderer();
+ this.setToolbarButton();
}
////// 渲染DOM //////
diff --git a/libs/core.js b/libs/core.js
index 41153ef0..f6cfe375 100644
--- a/libs/core.js
+++ b/libs/core.js
@@ -74,6 +74,8 @@ function core() {
this.domStyle = {
styles: [],
scale: 1.0,
+ toolbarBtn: false,
+ showStatusBar: true,
}
this.bigmap = {
canvas: ["bg", "event", "event2", "fg", "damage", "route"],
diff --git a/libs/events.js b/libs/events.js
index 14e1fc5d..70c9a013 100644
--- a/libs/events.js
+++ b/libs/events.js
@@ -91,6 +91,9 @@ events.prototype.initGame = function () {
////// 游戏开始事件 //////
events.prototype.startGame = function (hard, seed, route, callback) {
+ main.dom.levelChooseButtons.style.display='none';
+ main.dom.startButtonGroup.style.display='none';
+
var start = function () {
console.log('开始游戏');
core.resetStatus(core.firstData.hero, hard, null, null, core.initStatus.maps);
diff --git a/main.js b/main.js
index 592e56f7..2ff39470 100644
--- a/main.js
+++ b/main.js
@@ -98,7 +98,14 @@ function main() {
'shop': document.getElementById("img-shop"),
'save': document.getElementById("img-save"),
'load': document.getElementById("img-load"),
- 'settings': document.getElementById("img-settings")
+ 'settings': document.getElementById("img-settings"),
+ 'btn1': document.getElementById("img-btn1"),
+ 'btn2': document.getElementById("img-btn2"),
+ 'btn3': document.getElementById("img-btn3"),
+ 'btn4': document.getElementById("img-btn4"),
+ 'btn5': document.getElementById("img-btn5"),
+ 'btn6': document.getElementById("img-btn6"),
+ 'btn7': document.getElementById("img-btn7")
},
'icons': {
'floor': 0,
@@ -132,6 +139,13 @@ function main() {
'erase': 27,
'empty': 28,
'exit': 29,
+ 'btn1': 30,
+ 'btn2': 31,
+ 'btn3': 32,
+ 'btn4': 33,
+ 'btn5': 34,
+ 'btn6': 35,
+ 'btn7': 36
},
'floor': document.getElementById('floor'),
'name': document.getElementById('name'),
@@ -386,7 +400,9 @@ main.dom.data.ontouchend = function (e) {
}
////// 点击状态栏中的怪物手册时 //////
-main.statusBar.image.book.onclick = function () {
+main.statusBar.image.book.onclick = function (e) {
+ e.stopPropagation();
+
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.triggerReplay();
return;
@@ -402,7 +418,8 @@ main.statusBar.image.book.onclick = function () {
}
////// 点击状态栏中的楼层传送器/装备栏时 //////
-main.statusBar.image.fly.onclick = function () {
+main.statusBar.image.fly.onclick = function (e) {
+ e.stopPropagation();
// 播放录像时
if (core.isset(core.status.replay) && core.status.replay.replaying) {
@@ -427,7 +444,8 @@ main.statusBar.image.fly.onclick = function () {
}
////// 点击状态栏中的工具箱时 //////
-main.statusBar.image.toolbox.onclick = function () {
+main.statusBar.image.toolbox.onclick = function (e) {
+ e.stopPropagation();
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.rewindReplay();
@@ -445,7 +463,8 @@ main.statusBar.image.toolbox.onclick = function () {
}
////// 双击状态栏中的工具箱时 //////
-main.statusBar.image.toolbox.ondblclick = function () {
+main.statusBar.image.toolbox.ondblclick = function (e) {
+ e.stopPropagation();
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.rewindReplay();
@@ -458,7 +477,8 @@ main.statusBar.image.toolbox.ondblclick = function () {
}
////// 点击状态栏中的快捷商店时 //////
-main.statusBar.image.shop.onclick = function () {
+main.statusBar.image.shop.onclick = function (e) {
+ e.stopPropagation();
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.bookReplay();
@@ -470,7 +490,8 @@ main.statusBar.image.shop.onclick = function () {
}
////// 点击状态栏中的存档按钮时 //////
-main.statusBar.image.save.onclick = function () {
+main.statusBar.image.save.onclick = function (e) {
+ e.stopPropagation();
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.speedDownReplay();
@@ -487,7 +508,8 @@ main.statusBar.image.save.onclick = function () {
}
////// 点击状态栏中的读档按钮时 //////
-main.statusBar.image.load.onclick = function () {
+main.statusBar.image.load.onclick = function (e) {
+ e.stopPropagation();
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.speedUpReplay();
@@ -504,7 +526,8 @@ main.statusBar.image.load.onclick = function () {
}
////// 点击状态栏中的系统菜单时 //////
-main.statusBar.image.settings.onclick = function () {
+main.statusBar.image.settings.onclick = function (e) {
+ e.stopPropagation();
if (core.isset(core.status.replay) && core.status.replay.replaying) {
core.saveReplay();
@@ -520,6 +543,49 @@ main.statusBar.image.settings.onclick = function () {
main.core.openSettings(true);
}
+////// 点击工具栏时 //////
+main.dom.toolBar.onclick = function () {
+ if (core.isset(core.status.replay) && core.status.replay.replaying)
+ return;
+ main.core.control.setToolbarButton(!core.domStyle.toolbarBtn);
+}
+
+////// 手机端的按钮1-7 //////
+main.statusBar.image.btn1.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 49});
+};
+
+main.statusBar.image.btn2.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 50});
+};
+
+main.statusBar.image.btn3.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 51});
+};
+
+main.statusBar.image.btn4.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 52});
+};
+
+main.statusBar.image.btn5.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 53});
+};
+
+main.statusBar.image.btn6.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 54});
+};
+
+main.statusBar.image.btn7.onclick = function (e) {
+ e.stopPropagation();
+ main.core.onkeyUp({"keyCode": 55});
+};
+
////// 点击“开始游戏”时 //////
main.dom.playGame.onclick = function () {
main.dom.startButtons.style.display='none';
diff --git a/project/images/icons.png b/project/images/icons.png
index 75301f33..c5a383c6 100644
Binary files a/project/images/icons.png and b/project/images/icons.png differ