V1.4
This commit is contained in:
parent
9b48c01c9b
commit
3f1a039c86
19
README.md
19
README.md
@ -16,6 +16,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
||||
``` bash
|
||||
├── /_server/ # 为可视化地图编辑器提供一些支持的目录
|
||||
├── /docs/ # 文档目录
|
||||
├── /animates/ # 动画目录
|
||||
├── /images/ # 所有图片素材目录
|
||||
│ ├─ /常用素材/ # 可以被直接替换的素材
|
||||
│ └─ *.png # 对应的某个具体的图片素材
|
||||
@ -32,6 +33,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
||||
│ └─ ui.js # UI绘制信息,主要负责绘制各个UI窗口。
|
||||
├── /sounds/ # 音效目录
|
||||
├── /常用工具/ # 一些常用工具,可以辅助造塔
|
||||
│ ├─ RM动画导出器.exe # 能从RMXP中导出动画,以供H5使用。 http://github.com/ckcz123/animate_export/
|
||||
│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量。 http://github.com/ckcz123/JSCompressor/
|
||||
│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/
|
||||
│ ├─ 地图生成器.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
|
||||
|
||||
* [x] 增加录像和回放功能。
|
||||
|
||||
16
libs/core.js
16
libs/core.js
@ -889,9 +889,11 @@ core.prototype.pressKey = function (keyCode) {
|
||||
////// 根据按下键的code来执行一系列操作 //////
|
||||
core.prototype.keyDown = function(keyCode) {
|
||||
if (core.isset(core.status.replay)&&core.status.replay.replaying) return;
|
||||
/*
|
||||
if (core.isset(core.status.automaticRoute)&&core.status.automaticRoute.autoHeroMove) {
|
||||
core.stopAutomaticRoute();
|
||||
}
|
||||
*/
|
||||
if (core.status.lockControl) {
|
||||
// Ctrl跳过对话
|
||||
if (keyCode==17) {
|
||||
@ -1193,8 +1195,13 @@ core.prototype.keyUp = function(keyCode) {
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (core.isset(core.status.automaticRoute)&&core.status.automaticRoute.autoHeroMove) {
|
||||
core.stopAutomaticRoute();
|
||||
}
|
||||
|
||||
core.stopHero();
|
||||
|
||||
}
|
||||
|
||||
////// 点击(触摸)事件按下时 //////
|
||||
@ -4215,6 +4222,13 @@ core.prototype.checkStatus = function (name, need, item) {
|
||||
core.prototype.openBook = function (need) {
|
||||
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') {
|
||||
need=false;
|
||||
|
||||
13
libs/ui.js
13
libs/ui.js
@ -110,7 +110,9 @@ ui.prototype.drawTextBox = function(content) {
|
||||
content = core.replaceText(content);
|
||||
|
||||
var background = core.canvas.ui.createPattern(core.material.ground, "repeat");
|
||||
core.status.boxAnimateObjs = [];
|
||||
core.clearMap('ui', 0, 0, 416, 416);
|
||||
|
||||
// var contents = content.split('\n');
|
||||
// var contents = core.splitLines('ui', content, );
|
||||
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.status.boxAnimateObjs = [];
|
||||
|
||||
// 名称
|
||||
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);
|
||||
}
|
||||
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)) {
|
||||
core.strokeRect('ui', left + 15 - 1, top + 40 - 1, 34, 34, null, 2);
|
||||
core.status.boxAnimateObjs = [];
|
||||
@ -1389,9 +1390,10 @@ ui.prototype.drawAbout = function() {
|
||||
// 名称
|
||||
core.canvas.ui.textAlign = "left";
|
||||
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', 'HTML5魔塔交流群:539113091', text_start, top+112);
|
||||
// TODO: 写自己的“关于”页面
|
||||
core.fillText('ui', "版本: "+core.firstData.version, text_start, top + 80, "#FFFFFF", "bold 17px Verdana");
|
||||
core.fillText('ui', "作者: 艾之葵", text_start, top + 112);
|
||||
core.fillText('ui', 'HTML5魔塔交流群:539113091', text_start, top+112+32);
|
||||
// TODO: 写自己的“关于”页面,每次增加32像素即可
|
||||
}
|
||||
|
||||
////// 绘制帮助页面 //////
|
||||
@ -1406,6 +1408,7 @@ ui.prototype.drawHelp = function () {
|
||||
"[K] 打开/关闭快捷商店选择列表\n" +
|
||||
"[T] 打开/关闭工具栏\n" +
|
||||
"[ESC] 打开/关闭系统菜单\n" +
|
||||
"[E] 显示光标\n" +
|
||||
"[H] 打开帮助页面\n"+
|
||||
"[R] 回放\n"+
|
||||
"[SPACE] 轻按(仅在轻按开关打开时有效)\n" +
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
[K] 打开/关闭快捷商店选择列表
|
||||
[T] 打开/关闭工具栏
|
||||
[ESC] 打开/关闭系统菜单
|
||||
[E] 显示光标
|
||||
[H] 打开帮助页面
|
||||
[R] 回放
|
||||
[SPACE] 轻按(仅在轻按开关打开时有效)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user