mota-js/README.md
2018-02-28 20:10:04 +08:00

146 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HTML5 魔塔样板
## 简介
HTML5 canvas制作的魔塔样板支持全平台游戏
**即使完全不会编程的用户,按照模板和说明文档也能很快做出一个魔塔游戏!**
* [Demo / 样板效果](https://ckcz123.com/games/template/)
* [Docs / 使用文档说明](https://ckcz123.github.io/mota-js/)
* [Video / 视频教程](http://www.bilibili.com/video/av17608025/)
![样板](./docs/img/sample0.png)
## 目录结构
``` bash
├── /_server/ # 为可视化地图编辑器提供一些支持的目录
├── /docs/ # 文档目录
├── /animates/ # 动画目录
├── /images/ # 所有图片素材目录
│ ├─ /常用素材/ # 可以被直接替换的素材
│ └─ *.png # 对应的某个具体的图片素材
├── /libs/ # JS源代码目录
│ ├─ /floors/ # 剧本文件,记录了每个地图的数据和事件
│ ├─ /thirdparty/ # 游戏所用到的第三方库文件
│ ├─ core.js # 系统核心文件
│ ├─ data.js # 记录了勇士的初始化信息、各个全局变量和全局Flag值
│ ├─ enemys.js # 记录了怪物的信息,包括怪物的数据和特殊属性、伤害计算公式、临界值计算等。
│ ├─ events.js # 处理事件的文件,所有自定义事件都会在此文件中进行处理
│ ├─ icons.js # 记录了图标信息将元件的ID和images目录下的素材图标对应起来
│ ├─ items.js # 记录了道具的信息,包括道具说明、道具效果等。
│ ├─ maps.js # 记录了地图信息负责将数字与元件的ID一一对应起来。
│ └─ 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/
│ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具。 http://github.com/ckcz123/magic-tower-calculator/
├── drawMapGUI.html # 可视化地图编辑工具,能简单地在界面上绘制地图
├── index.html # 主程序,游戏的入口
├── main.js # JS程序的入口将动态对所需JS进行加载
├── style.css # 游戏所需要用到的样式表
└── 启动服务.exe # 一个本地的HTTP服务器也能支撑前端的一些POST请求从而能拓展JS的IO功能。 http://github.com/ckcz123/mota-js-server/
```
## 更新说明
### 2018.2.9 V1.4.1
* [x] 改变图块setBlock事件
* [x] 同一个点的多事件处理(做法详见文档)。
* [x] 增加新地图后可以接档而不用重新开始。
* [x] 增加可以接收用户输入的事件(type:input)。
* [x] 滚动字幕;自动剧情文本。
* [x] 可以同时show/hide多个事件。
* [x] 现在可以支持滑冰和推箱子事件了。
* [x] 地图中每个块的可通行方向控制(悬崖效果)。
* [x] 动画支持带旋转和翻转的帧。
* [x] 长按屏幕可跳过对话。
* [x] 现在可以允许用户丢弃道具了(例如不会再使用的装备)。
* [x] 修复行走时按键会发生动画抖动问题。
* [x] 修复无法打开战斗动画的Bug。
### 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] 增加录像和回放功能。
* [x] 增加统计功能现在能看到每部塔的游戏人数、通关人数和当前MAX了。
* [x] 增加浏览地图功能,玩家可以快速查看每层楼的地图。
* [x] 现在保存文件到本地,以及从本地文件读档了。
* [x] 可以在全局开关中设置剑盾是否作为装备存在。
* [x] 修复了部分已知Bug。
### 2018.1.12 V1.3.1
* [x] 增加虚拟键盘
* [x] 增加自动存档回退A键可快速读档
* [x] 修复几处较为严重的Bug
### 2018.1.1 V1.3
* [x] 支持全键盘操作。
* [x] 支持将某个图片作为某层的背景素材。
* [x] 便捷PS工具支持更改图片色相。
* [x] 支持经验升级(进阶/境界塔)。
* [x] 打败怪物可以进行加点(加点塔)。
* [x] 增加阻击、N连击等属性在怪物手册有属性显示。
* [x] 支持九宫格领域和大范围领域。
* [x] 增加负伤。
* [x] 支持各种BGM的播放。
* [x] 支持不同层使用不同的地面素材支持多个Autotile同时存在。
* [x] 许多细节进行了优化一些已知的Bug进行了修复。
### 2017.12.21 V1.2
* [x] 新增本地HTTP服务器。
* [x] 新增:可视化地图编辑工具。
* [x] 新增便捷PS工具。
* [x] 移除了meaning.txt现在“地图生成器”将直接从js文件中读取数字和图块对应关系。
* [x] 新增对Autotile图块的支持。
* [x] 新增:怪物支持多种属性;添加仇恨属性。
* [x] 移除了不再支持的checkBlock现在对于领域和夹击无需再手动指定可能的点了。
* [x] 新增:单向箭头、感叹号(单次通行)的支持。
* [x] 新增更多的默认素材现在对于大多数地图风格无需P图直接替换即可。
* [x] 添加部分自定义事件部分细节优化一些已知的Bug进行了修复。
### 2017.12.16 V1.1
* [x] 新增:战斗过程显示,可以在设置中关闭
* [x] 新增勇士支持48*32大图的行走图
* [x] 新增:更改画面色调
* [x] 新增:文字显示支持自动换行
* [x] 部分修改状态栏UI
* [x] 增添Web的Markdown文档移除原本的doc和pdf文档。
* [x] 修复若干Bug。
### 2017.12.9 V1.0
* [x] 发布初版HTML5魔塔样板
## 联系我们
本塔由 [`ckcz123`](https://github.com/ckcz123) 百度ID `艾之葵`)编写。
HTML5魔塔交流群群号 `539113091`
如有其它意见或建议,也可以通过发[issues](https://github.com/ckcz123/mota-js/issues)、或邮件至[ckcz123.com](mailto:ckcz123.com)联系我。