V1.4
This commit is contained in:
parent
9b48c01c9b
commit
3f1a039c86
19
README.md
19
README.md
@ -16,6 +16,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
|||||||
``` bash
|
``` bash
|
||||||
├── /_server/ # 为可视化地图编辑器提供一些支持的目录
|
├── /_server/ # 为可视化地图编辑器提供一些支持的目录
|
||||||
├── /docs/ # 文档目录
|
├── /docs/ # 文档目录
|
||||||
|
├── /animates/ # 动画目录
|
||||||
├── /images/ # 所有图片素材目录
|
├── /images/ # 所有图片素材目录
|
||||||
│ ├─ /常用素材/ # 可以被直接替换的素材
|
│ ├─ /常用素材/ # 可以被直接替换的素材
|
||||||
│ └─ *.png # 对应的某个具体的图片素材
|
│ └─ *.png # 对应的某个具体的图片素材
|
||||||
@ -32,6 +33,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
|||||||
│ └─ ui.js # UI绘制信息,主要负责绘制各个UI窗口。
|
│ └─ ui.js # UI绘制信息,主要负责绘制各个UI窗口。
|
||||||
├── /sounds/ # 音效目录
|
├── /sounds/ # 音效目录
|
||||||
├── /常用工具/ # 一些常用工具,可以辅助造塔
|
├── /常用工具/ # 一些常用工具,可以辅助造塔
|
||||||
|
│ ├─ RM动画导出器.exe # 能从RMXP中导出动画,以供H5使用。 http://github.com/ckcz123/animate_export/
|
||||||
│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量。 http://github.com/ckcz123/JSCompressor/
|
│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量。 http://github.com/ckcz123/JSCompressor/
|
||||||
│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/
|
│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/
|
||||||
│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔。 http://github.com/ckcz123/map_generator/
|
│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔。 http://github.com/ckcz123/map_generator/
|
||||||
@ -45,6 +47,23 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
|||||||
|
|
||||||
## 更新说明
|
## 更新说明
|
||||||
|
|
||||||
|
### 2018.2.6 V1.4
|
||||||
|
|
||||||
|
* [x] 支持动画。
|
||||||
|
* [x] 瞬间移动。
|
||||||
|
* [x] 支持天气系统,可以在剧本中设置默认天气。
|
||||||
|
* [x] 新增自定义事件-图片显示。
|
||||||
|
* [x] 同时可以在剧本中设定多个背景素材。
|
||||||
|
* [x] 剧情文本特性控制,人物的对话框效果。
|
||||||
|
* [x] 单存档同步到服务器,下载到文件和读取。
|
||||||
|
* [x] 键盘支持自动寻路操作。
|
||||||
|
* [x] 浏览地图模式下可以查看怪物数据。
|
||||||
|
* [x] 未成功打怪和开门则不自动存档。
|
||||||
|
* [x] 重新支持楼梯穿透。
|
||||||
|
* [x] 支持多结局,成绩将分开统计。
|
||||||
|
* [x] 重构全局动画、行走动画和行走检测,大幅提升性能。
|
||||||
|
* [x] 修复所有已知Bug。
|
||||||
|
|
||||||
### 2018.1.21 V1.3.2
|
### 2018.1.21 V1.3.2
|
||||||
|
|
||||||
* [x] 增加录像和回放功能。
|
* [x] 增加录像和回放功能。
|
||||||
|
|||||||
16
libs/core.js
16
libs/core.js
@ -889,9 +889,11 @@ core.prototype.pressKey = function (keyCode) {
|
|||||||
////// 根据按下键的code来执行一系列操作 //////
|
////// 根据按下键的code来执行一系列操作 //////
|
||||||
core.prototype.keyDown = function(keyCode) {
|
core.prototype.keyDown = function(keyCode) {
|
||||||
if (core.isset(core.status.replay)&&core.status.replay.replaying) return;
|
if (core.isset(core.status.replay)&&core.status.replay.replaying) return;
|
||||||
|
/*
|
||||||
if (core.isset(core.status.automaticRoute)&&core.status.automaticRoute.autoHeroMove) {
|
if (core.isset(core.status.automaticRoute)&&core.status.automaticRoute.autoHeroMove) {
|
||||||
core.stopAutomaticRoute();
|
core.stopAutomaticRoute();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
if (core.status.lockControl) {
|
if (core.status.lockControl) {
|
||||||
// Ctrl跳过对话
|
// Ctrl跳过对话
|
||||||
if (keyCode==17) {
|
if (keyCode==17) {
|
||||||
@ -1193,8 +1195,13 @@ core.prototype.keyUp = function(keyCode) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (core.isset(core.status.automaticRoute)&&core.status.automaticRoute.autoHeroMove) {
|
||||||
|
core.stopAutomaticRoute();
|
||||||
|
}
|
||||||
|
|
||||||
core.stopHero();
|
core.stopHero();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 点击(触摸)事件按下时 //////
|
////// 点击(触摸)事件按下时 //////
|
||||||
@ -4215,6 +4222,13 @@ core.prototype.checkStatus = function (name, need, item) {
|
|||||||
core.prototype.openBook = function (need) {
|
core.prototype.openBook = function (need) {
|
||||||
if (core.isset(core.status.replay)&&core.status.replay.replaying) return;
|
if (core.isset(core.status.replay)&&core.status.replay.replaying) return;
|
||||||
|
|
||||||
|
// 当前是book,且从“浏览地图”打开
|
||||||
|
if (core.status.event.id == 'book' && core.isset(core.status.event.selection)) {
|
||||||
|
core.status.boxAnimateObjs = [];
|
||||||
|
core.ui.drawMaps(core.status.event.selection);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 从“浏览地图”页面打开
|
// 从“浏览地图”页面打开
|
||||||
if (core.status.event.id=='viewMaps') {
|
if (core.status.event.id=='viewMaps') {
|
||||||
need=false;
|
need=false;
|
||||||
|
|||||||
13
libs/ui.js
13
libs/ui.js
@ -110,7 +110,9 @@ ui.prototype.drawTextBox = function(content) {
|
|||||||
content = core.replaceText(content);
|
content = core.replaceText(content);
|
||||||
|
|
||||||
var background = core.canvas.ui.createPattern(core.material.ground, "repeat");
|
var background = core.canvas.ui.createPattern(core.material.ground, "repeat");
|
||||||
|
core.status.boxAnimateObjs = [];
|
||||||
core.clearMap('ui', 0, 0, 416, 416);
|
core.clearMap('ui', 0, 0, 416, 416);
|
||||||
|
|
||||||
// var contents = content.split('\n');
|
// var contents = content.split('\n');
|
||||||
// var contents = core.splitLines('ui', content, );
|
// var contents = core.splitLines('ui', content, );
|
||||||
var left=10, right=416-2*left;
|
var left=10, right=416-2*left;
|
||||||
@ -188,7 +190,6 @@ ui.prototype.drawTextBox = function(content) {
|
|||||||
core.drawLine('ui', 32*px+32-xoffset, top, 32*px+16, top-yoffset+2);
|
core.drawLine('ui', 32*px+32-xoffset, top, 32*px+16, top-yoffset+2);
|
||||||
}
|
}
|
||||||
|
|
||||||
core.status.boxAnimateObjs = [];
|
|
||||||
|
|
||||||
// 名称
|
// 名称
|
||||||
core.canvas.ui.textAlign = "left";
|
core.canvas.ui.textAlign = "left";
|
||||||
@ -211,7 +212,7 @@ ui.prototype.drawTextBox = function(content) {
|
|||||||
core.canvas.ui.drawImage(core.material.images.hero, heroIcon.stop * 32, heroIcon.loc * heroHeight, 32, heroHeight, left+15, top+40, 32, heroHeight);
|
core.canvas.ui.drawImage(core.material.images.hero, heroIcon.stop * 32, heroIcon.loc * heroHeight, 32, heroHeight, left+15, top+40, 32, heroHeight);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.fillText('ui', name, content_left, top + 30, '#FFD700', 'bold 22px Verdana');
|
core.fillText('ui', name, content_left, top + 30, null, 'bold 22px Verdana');
|
||||||
if (core.isset(icon)) {
|
if (core.isset(icon)) {
|
||||||
core.strokeRect('ui', left + 15 - 1, top + 40 - 1, 34, 34, null, 2);
|
core.strokeRect('ui', left + 15 - 1, top + 40 - 1, 34, 34, null, 2);
|
||||||
core.status.boxAnimateObjs = [];
|
core.status.boxAnimateObjs = [];
|
||||||
@ -1389,9 +1390,10 @@ ui.prototype.drawAbout = function() {
|
|||||||
// 名称
|
// 名称
|
||||||
core.canvas.ui.textAlign = "left";
|
core.canvas.ui.textAlign = "left";
|
||||||
core.fillText('ui', "HTML5 魔塔样板", text_start, top+35, "#FFD700", "bold 22px Verdana");
|
core.fillText('ui', "HTML5 魔塔样板", text_start, top+35, "#FFD700", "bold 22px Verdana");
|
||||||
core.fillText('ui', "作者: 艾之葵", text_start, top + 80, "#FFFFFF", "bold 17px Verdana");
|
core.fillText('ui', "版本: "+core.firstData.version, text_start, top + 80, "#FFFFFF", "bold 17px Verdana");
|
||||||
core.fillText('ui', 'HTML5魔塔交流群:539113091', text_start, top+112);
|
core.fillText('ui', "作者: 艾之葵", text_start, top + 112);
|
||||||
// TODO: 写自己的“关于”页面
|
core.fillText('ui', 'HTML5魔塔交流群:539113091', text_start, top+112+32);
|
||||||
|
// TODO: 写自己的“关于”页面,每次增加32像素即可
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 绘制帮助页面 //////
|
////// 绘制帮助页面 //////
|
||||||
@ -1406,6 +1408,7 @@ ui.prototype.drawHelp = function () {
|
|||||||
"[K] 打开/关闭快捷商店选择列表\n" +
|
"[K] 打开/关闭快捷商店选择列表\n" +
|
||||||
"[T] 打开/关闭工具栏\n" +
|
"[T] 打开/关闭工具栏\n" +
|
||||||
"[ESC] 打开/关闭系统菜单\n" +
|
"[ESC] 打开/关闭系统菜单\n" +
|
||||||
|
"[E] 显示光标\n" +
|
||||||
"[H] 打开帮助页面\n"+
|
"[H] 打开帮助页面\n"+
|
||||||
"[R] 回放\n"+
|
"[R] 回放\n"+
|
||||||
"[SPACE] 轻按(仅在轻按开关打开时有效)\n" +
|
"[SPACE] 轻按(仅在轻按开关打开时有效)\n" +
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
[K] 打开/关闭快捷商店选择列表
|
[K] 打开/关闭快捷商店选择列表
|
||||||
[T] 打开/关闭工具栏
|
[T] 打开/关闭工具栏
|
||||||
[ESC] 打开/关闭系统菜单
|
[ESC] 打开/关闭系统菜单
|
||||||
|
[E] 显示光标
|
||||||
[H] 打开帮助页面
|
[H] 打开帮助页面
|
||||||
[R] 回放
|
[R] 回放
|
||||||
[SPACE] 轻按(仅在轻按开关打开时有效)
|
[SPACE] 轻按(仅在轻按开关打开时有效)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user