commit
ae5be2cefc
19
README.md
19
README.md
@ -48,6 +48,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
||||
│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/
|
||||
│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔。 http://github.com/ckcz123/map_generator/
|
||||
│ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具。 http://github.com/ckcz123/magic-tower-calculator/
|
||||
├── /启动服务(mac版).app/ # 启动服务的mac版本。
|
||||
├── editor.html # 可视化地图编辑工具
|
||||
├── index.html # 主程序,游戏的入口
|
||||
├── main.js # JS程序的入口,将动态对所需JS进行加载
|
||||
@ -57,6 +58,24 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏!
|
||||
|
||||
## 更新说明
|
||||
|
||||
### 2018.5.27 V2.3
|
||||
|
||||
* [x] 启动服务和便捷PS工具(Mac版)
|
||||
* [x] 地图编辑器可以右键复制或移动图块
|
||||
* [x] 事件:while循环处理
|
||||
* [x] 事件:等待用户操作并获得按键或点击信息
|
||||
* [x] 地图数据统计
|
||||
* [x] 衰弱可以减少攻防的比例
|
||||
* [x] 便捷PS工具可以批量导入素材
|
||||
* [x] 除Autotile外均可自动注册
|
||||
* [x] 支持status:x获得当前坐标
|
||||
* [x] core.debug()改成调试模式,可以Ctrl穿墙
|
||||
* [x] 新建地图可以保留楼层属性
|
||||
* [x] 地图编辑器可用PageUp和PageDown切换楼层
|
||||
* [x] 提供大量素材,可直接取用
|
||||
* [x] 重写大部分教程,新增大量拓展描述
|
||||
* [x] 大量细节进行优化,所有已知的bug进行了修复
|
||||
|
||||
### 2018.5.6 V2.2
|
||||
|
||||
* [x] 事件坐标可用变量指定("loc": ["flag:x", "flag:y"])
|
||||
|
||||
@ -456,7 +456,7 @@ editor_mode = function (editor) {
|
||||
printe("该楼层已存在!");
|
||||
return;
|
||||
}
|
||||
if (!/^[a-zA-Z_]*[a-zA-Z0-9_]*$/.test(newFileName)) {
|
||||
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(newFileName.value)) {
|
||||
printe("楼层名不合法!请使用字母、数字、下划线,且不能以数字开头!");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# V2.0版本介绍
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
目前样板已经更新到V2.0版本以上,本章将对V2.0的一些内容进行介绍。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 附录: API列表
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
**这里只列出所有可能会被造塔者用到的常用API,更多的有关内容请在代码内进行查询。**
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 元件说明
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。
|
||||
|
||||
@ -243,6 +243,35 @@ floorId指定的是目标楼层的唯一标识符(ID)。
|
||||
|
||||
!> iOS平台以及部分浏览器不支持获得当前网络状态,此时即使在使用Wifi也必须要用户点击“音乐开关”才能播放音乐。
|
||||
|
||||
## 录像
|
||||
|
||||
HTML5魔塔一大亮点就是存在录像系统,可以很方便进行录像回放。
|
||||
|
||||
当你在游戏的过程中,随着你的操作,录像也会被依次记录。游戏结束后将提示是否下载录像,上传成绩时也会上传你的录像信息。
|
||||
|
||||
在菜单栏-同步存档中,可以直接对当前录像进行下载。
|
||||
|
||||
!> 录像记录的是你当前的路线(本质上是模拟键盘操作),是一个纯文本文件,占用空间很小!
|
||||
|
||||
录像的回放主要有两种方式:
|
||||
|
||||
1. 保存成的录像文件(.h5route文件):在标题界面点录像回放,再选择文件即可。
|
||||
2. 游戏过程中时的当前录像:随时按R可以进行回放;手机端则长按任何位置3秒以上调出虚拟键盘,再按R。
|
||||
|
||||
录像播放过程中,可以进行如下操作:
|
||||
|
||||
- **暂停/播放:** 按空格可以随时暂停或播放录像。
|
||||
- **加速:** 按X可以加速录像播放,最高可达6倍速。
|
||||
- **减速:** 按Z可以减速录像播放,最低可达0.3倍速。
|
||||
- **停止:** 按ESC可以立刻停止录像播放,并返回正常游戏。
|
||||
- **回退:** 按A可以回退到上一个录像节点(录像播放过程中每50步存一个录像节点)。
|
||||
- **存档:** 按S可以在录像播放过程中进行存档。
|
||||
- **查看手册:** 按C可以在录像播放过程中查看怪物手册。
|
||||
|
||||
上述操作在手机端均有工具栏的对应按钮可点击操作。
|
||||
|
||||
如果录像出现问题,请加群539113091找小艾反馈Bug。
|
||||
|
||||
## 操作说明
|
||||
|
||||
本塔主要支持鼠标(触摸屏)操作和键盘操作。
|
||||
@ -259,6 +288,7 @@ floorId指定的是目标楼层的唯一标识符(ID)。
|
||||
键盘操作快捷键如下:
|
||||
|
||||
- **[CTRL]** 跳过对话
|
||||
- **[Z]** 转向
|
||||
- **[X]** 打开/关闭怪物手册
|
||||
- **[G]** 打开/关闭楼层传送器
|
||||
- **[A]** 读取自动存档
|
||||
@ -267,7 +297,6 @@ floorId指定的是目标楼层的唯一标识符(ID)。
|
||||
- **[T]** 打开/关闭工具栏
|
||||
- **[ESC]** 打开/关闭系统菜单
|
||||
- **[H]** 打开帮助页面
|
||||
- **[Z]** 转向
|
||||
- **[R]** 回放录像
|
||||
- **[SPACE]** 轻按(仅在轻按开关打开时有效)
|
||||
- **[1]** 快捷使用破墙镐
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 事件
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
本章内将对样板所支持的事件进行介绍。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# HTML5 魔塔样板说明文档
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
众所周知,魔塔的趋势是向移动端发展,贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中,NekoRPG有着比较大的局限性,游戏感较差,更是完全没法在iOS上运行。而一些APP的魔塔虽然可用,但是必须要下载安装,对于Android和iOS还必须开发不同的版本,非常麻烦。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 个性化
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 快速上手
|
||||
|
||||
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
|
||||
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
|
||||
|
||||
在这一节中,将详细介绍做一部塔的流程。现在,让我们来做一部单层塔!
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
你需要有满足如下条件才能进行制作:
|
||||
|
||||
- Windows 8以上操作系统;Windows 7需要安装.Net Framework 4.0。(能打开同目录下的“启动服务.exe”即可)
|
||||
- Mac系统则需OS X 10.7及以上,能正确打开启动服务(Mac版).app即可。
|
||||
- Chrome浏览器。其他浏览器可能会导致本地服务器产生闪退等现象。
|
||||
- 强烈推荐安装一个很好的文本编辑器:VSCode。在某些需要直接修改文件的场合,可能会非常重要。
|
||||
|
||||
@ -18,7 +19,7 @@
|
||||
|
||||
## 启动HTTP服务
|
||||
|
||||
在根目录下有一个“启动服务.exe”,运行之。
|
||||
在根目录下有一个“启动服务.exe”,运行之。(Mac版本则双击运行“启动服务(Mac版).app”)
|
||||
|
||||

|
||||
|
||||
|
||||
@ -1 +0,0 @@
|
||||
<html><body><script>window.location='editor.html'</script></body></html>
|
||||
@ -315,8 +315,11 @@ actions.prototype.keyUp = function(keyCode, fromReplay) {
|
||||
core.load(true);
|
||||
break;
|
||||
case 69: // E
|
||||
/*
|
||||
// Cursor is unnecessary!
|
||||
if (core.status.heroStop)
|
||||
core.ui.drawCursor();
|
||||
*/
|
||||
break;
|
||||
case 84: // T
|
||||
if (core.status.heroStop)
|
||||
@ -1553,7 +1556,7 @@ actions.prototype.clickSettings = function (x,y) {
|
||||
break;
|
||||
case 4:
|
||||
core.status.event.selection=1;
|
||||
core.ui.drawConfirmBox("你确定要重新开始吗?", function () {
|
||||
core.ui.drawConfirmBox("你确定要返回标题页面吗?", function () {
|
||||
core.ui.closePanel();
|
||||
core.restart();
|
||||
}, function () {
|
||||
|
||||
1
libs/actions.min.js
vendored
Normal file
1
libs/actions.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
libs/control.min.js
vendored
Normal file
1
libs/control.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
libs/data.min.js
vendored
Normal file
1
libs/data.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
function data(){this.init()}data.prototype.init=function(){this.firstData=data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData;this.values=data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.values;this.flags=data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.flags};data.prototype.getFirstData=function(){return core.clone(this.firstData)};
|
||||
1
libs/enemys.min.js
vendored
Normal file
1
libs/enemys.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
libs/events.min.js
vendored
Normal file
1
libs/events.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
libs/icons.min.js
vendored
Normal file
1
libs/icons.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
function icons(){this.init()}icons.prototype.init=function(){this.icons=icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1};icons.prototype.getIcons=function(){return this.icons};
|
||||
1
libs/items.min.js
vendored
Normal file
1
libs/items.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
function items(){this.init()}items.prototype.init=function(){this.items=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.items;this.itemEffect=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.itemEffect;this.itemEffectTip=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.itemEffectTip;this.useItemEffect=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.useItemEffect;this.canUseItemEffect=items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.canUseItemEffect};items.prototype.getItems=function(){return this.items};items.prototype.getItemEffect=function(itemId,itemNum){var itemCls=core.material.items[itemId].cls;if(itemCls==="items"){var ratio=parseInt(core.floors[core.status.floorId].item_ratio)||1;var curr_hp=core.status.hero.hp;if(itemId in this.itemEffect){eval(this.itemEffect[itemId])}core.status.hero.statistics.hp+=core.status.hero.hp-curr_hp}else{core.addItem(itemId,itemNum)}};items.prototype.getItemEffectTip=function(itemId){var itemCls=core.material.items[itemId].cls;if(itemCls==="items"){var ratio=parseInt(core.floors[core.status.floorId].item_ratio)||1;if(itemId in this.itemEffectTip){return eval(this.itemEffectTip[itemId])||""}}return""};items.prototype.useItem=function(itemId,callback){if(!this.canUseItem(itemId)){if(core.isset(callback)){callback()}return}var itemCls=core.material.items[itemId].cls;if(itemId in this.useItemEffect){eval(this.useItemEffect[itemId])}core.updateStatusBar();if(itemId!="book"&&itemId!="fly"){core.status.route.push("item:"+itemId)}if(itemCls=="tools"){core.status.hero.items[itemCls][itemId]--}if(core.status.hero.items[itemCls][itemId]==0){delete core.status.hero.items[itemCls][itemId]}if(core.isset(callback)){callback()}};items.prototype.canUseItem=function(itemId){if(!core.hasItem(itemId)){return false}if(itemId in this.canUseItemEffect){return eval(this.canUseItemEffect[itemId])}return false};items.prototype.itemCount=function(b){if(!core.isset(b)||!core.isset(core.material.items[b])){return 0}var a=core.material.items[b].cls;if(a=="items"){return 0}return core.isset(core.status.hero.items[a][b])?core.status.hero.items[a][b]:0};items.prototype.hasItem=function(a){return core.itemCount(a)>0};items.prototype.setItem=function(b,c){var a=core.material.items[b].cls;if(a=="items"){return}if(!core.isset(core.status.hero.items[a])){core.status.hero.items[a]={}}core.status.hero.items[a][b]=c;if(a!="keys"&&c==0){delete core.status.hero.items[a][b]}};items.prototype.removeItem=function(b){if(!core.hasItem(b)){return false}var a=core.material.items[b].cls;core.status.hero.items[a][b]--;if(a!="keys"&&core.status.hero.items[a][b]==0){delete core.status.hero.items[a][b]}core.updateStatusBar();return true};items.prototype.addItem=function(c,d){var b=core.material.items[c];var a=b.cls;if(a=="items"){return}if(!core.isset(core.status.hero.items[a])){core.status.hero.items[a]={};core.status.hero.items[a][c]=0}else{if(!core.isset(core.status.hero.items[a][c])){core.status.hero.items[a][c]=0}}core.status.hero.items[a][c]+=d};
|
||||
1
libs/loader.min.js
vendored
Normal file
1
libs/loader.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
function loader(){this.init()}loader.prototype.init=function(){};loader.prototype.setStartProgressVal=function(a){core.dom.startTopProgress.style.width=a+"%"};loader.prototype.setStartLoadTipText=function(a){core.dom.startTopLoadTips.innerHTML=a};loader.prototype.load=function(a){core.loader.loadIcons();core.loader.loadImages(core.materials,core.material.images,function(){core.material.images.images={};var b=core.clone(core.images);if(b.indexOf("hero.png")<0){b.push("hero.png")}core.loader.loadImages(b,core.material.images.images,function(){core.material.images.autotile={};core.loader.loadImages(Object.keys(core.material.icons.autotile),core.material.images.autotile,function(){core.loader.loadAnimates();core.loader.loadMusic();if(core.isset(a)){a()}})})})};loader.prototype.loadIcons=function(){this.loadImage("icons.png",function(a,b){var c=core.cropImage(b);for(var d in core.statusBar.icons){if(typeof core.statusBar.icons[d]=="number"){core.statusBar.icons[d]=c[core.statusBar.icons[d]];if(core.isset(core.statusBar.image[d])){core.statusBar.image[d].src=core.statusBar.icons[d].src}}}})};loader.prototype.loadImages=function(d,f,a){if(d.length==0){if(core.isset(a)){a()}return}var c=0;for(var b=0;b<d.length;b++){this.loadImage(d[b],function(g,h){core.loader.setStartLoadTipText("正在加载图片 "+g+"...");f[g]=h;c++;core.loader.setStartProgressVal(c*(100/d.length));if(c==d.length){if(core.isset(a)){a()}}})}};loader.prototype.loadImage=function(d,a){try{var f=d;if(f.indexOf(".")<0){f=f+".png"}var c=new Image();c.src="project/images/"+f+"?v="+main.version;if(c.complete){a(d,c);return}c.onload=function(){a(d,c)}}catch(b){console.log(b)}};loader.prototype.loadAnimates=function(){core.animates.forEach(function(a){core.http("GET","project/animates/"+a+".animate",null,function(b){try{b=JSON.parse(b);var c={};c.ratio=b.ratio;c.images=[];c.images_rev=[];b.bitmaps.forEach(function(h){if(!core.isset(h)||h==""){c.images.push(null)}else{try{var g=new Image();g.src=h;c.images.push(g)}catch(f){c.images.push(null)}}});c.frame=b.frame_max;c.frames=[];b.frames.forEach(function(g){var f=[];g.forEach(function(h){f.push({index:h[0],x:h[1],y:h[2],zoom:h[3],opacity:h[4],mirror:h[5]||0,angle:h[6]||0,})});c.frames.push(f)});core.material.animates[a]=c}catch(d){console.log(d);core.material.animates[a]=null}},function(b){console.log(b);core.material.animates[a]=null},"text/plain; charset=x-user-defined")})};loader.prototype.loadMusic=function(){core.bgms.forEach(function(b){if(/^.*\.mid$/i.test(b)){if(core.musicStatus.audioContext!=null){core.material.bgms[b]="loading";core.http("GET","project/sounds/"+b,null,function(c){try{var f=[];var g=c.length;for(var i=0;i<g;i++){f[i]=String.fromCharCode(c.charCodeAt(i)&255)}var h=core.material.bgms[b]=="starting";core.material.bgms[b]=AudioPlayer(core.musicStatus.audioContext,Replayer(MidiFile(f.join("")),Synth(44100)),true);if(h){core.playBgm(b)}}catch(d){console.log(d);core.material.bgms[b]=null}},function(c){console.log(c);core.material.bgms[b]=null},"text/plain; charset=x-user-defined")}else{core.material.bgms[b]=null}}else{var a=new Audio();a.preload="none";if(main.bgmRemote){a.src=main.bgmRemoteRoot+core.firstData.name+"/"+b}else{a.src="project/sounds/"+b}a.loop="loop";core.material.bgms[b]=a}});core.sounds.forEach(function(b){if(core.musicStatus.audioContext!=null){core.http("GET","project/sounds/"+b,null,function(c){try{core.musicStatus.audioContext.decodeAudioData(c,function(f){core.material.sounds[b]=f},function(f){console.log(f);core.material.sounds[b]=null})}catch(d){console.log(d);core.material.sounds[b]=null}},function(){console.log(e);core.material.sounds[b]=null},null,"arraybuffer")}else{var a=new Audio();a.src="project/sounds/"+b;core.material.sounds[b]=a}});if(core.musicStatus.startDirectly&&core.bgms.length>0){core.playBgm(core.bgms[0])}};
|
||||
1
libs/maps.min.js
vendored
Normal file
1
libs/maps.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -748,7 +748,7 @@ ui.prototype.drawSettings = function () {
|
||||
core.status.event.id = 'settings';
|
||||
|
||||
this.drawChoices(null, [
|
||||
"系统设置", "快捷商店", "浏览地图", "同步存档", "重新开始", "数据统计", "操作帮助", "关于本塔", "返回游戏"
|
||||
"系统设置", "快捷商店", "浏览地图", "同步存档", "返回标题", "数据统计", "操作帮助", "关于本塔", "返回游戏"
|
||||
]);
|
||||
}
|
||||
|
||||
@ -1921,6 +1921,7 @@ ui.prototype.drawHelp = function () {
|
||||
core.drawText([
|
||||
"\t[键盘快捷键列表]"+
|
||||
"[CTRL] 跳过对话\n" +
|
||||
"[Z] 转向\n" +
|
||||
"[X] 打开/关闭怪物手册\n" +
|
||||
"[G] 打开/关闭楼层传送器\n" +
|
||||
"[A] 读取自动存档(回退)\n" +
|
||||
@ -1928,10 +1929,11 @@ ui.prototype.drawHelp = function () {
|
||||
"[K] 打开/关闭快捷商店选择列表\n" +
|
||||
"[T] 打开/关闭工具栏\n" +
|
||||
"[ESC] 打开/关闭系统菜单\n" +
|
||||
"[E] 显示光标\n" +
|
||||
// "[E] 显示光标\n" +
|
||||
"[H] 打开帮助页面\n"+
|
||||
"[R] 回放\n"+
|
||||
"[SPACE] 轻按(仅在轻按开关打开时有效)\n" +
|
||||
"[PgUp/PgDn] 浏览地图\n"+
|
||||
"[1] 快捷使用破墙镐\n" +
|
||||
"[2] 快捷使用炸弹/圣锤\n" +
|
||||
"[3] 快捷使用中心对称飞行器",
|
||||
|
||||
1
libs/ui.min.js
vendored
Normal file
1
libs/ui.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
libs/utils.min.js
vendored
Normal file
1
libs/utils.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
50
启动服务(mac版).app/Contents/Info.plist
Normal file
50
启动服务(mac版).app/Contents/Info.plist
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>17E202</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>MTBuilder</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.xiongdianpku.MTBuilder</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>MTBuilder</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>9E501</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>17E189</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.13</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0931</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>9E501</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.10</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2018年 熊典. All rights reserved.</string>
|
||||
<key>NSMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
启动服务(mac版).app/Contents/MacOS/MTBuilder
Normal file
BIN
启动服务(mac版).app/Contents/MacOS/MTBuilder
Normal file
Binary file not shown.
1
启动服务(mac版).app/Contents/PkgInfo
Normal file
1
启动服务(mac版).app/Contents/PkgInfo
Normal file
@ -0,0 +1 @@
|
||||
APPL????
|
||||
BIN
启动服务(mac版).app/Contents/Resources/Assets.car
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Assets.car
Normal file
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib
generated
Normal file
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib
generated
Normal file
Binary file not shown.
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib
generated
Normal file
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib
generated
Normal file
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
generated
Normal file
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib
generated
Normal file
Binary file not shown.
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
generated
Normal file
BIN
启动服务(mac版).app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
generated
Normal file
Binary file not shown.
252
启动服务(mac版).app/Contents/_CodeSignature/CodeResources
Normal file
252
启动服务(mac版).app/Contents/_CodeSignature/CodeResources
Normal file
@ -0,0 +1,252 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Assets.car</key>
|
||||
<data>
|
||||
Y8vFWeV9aMFK2k/Fmvn1VKDb4G4=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib</key>
|
||||
<data>
|
||||
EN/jmkBY5XqitaaV2kWybEgMtTE=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib</key>
|
||||
<data>
|
||||
vZO5vWZuRi0vaSFqKPCW1qksfDE=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/Info.plist</key>
|
||||
<data>
|
||||
71E/nyD1JC6i4rw6+kjjVgE/fZA=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/MainMenu.nib</key>
|
||||
<data>
|
||||
lC9mNWqzXYAYynusmnCrDuM3hvI=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib</key>
|
||||
<data>
|
||||
jBRfznhMbiKUnUxlCD1QLUegGsc=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib</key>
|
||||
<data>
|
||||
S9xl+rRRrH6aWKPTrX11XmKhYtA=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib</key>
|
||||
<data>
|
||||
a5hup3BYBUycbe+iJd/nx+VQ/rA=
|
||||
</data>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib</key>
|
||||
<data>
|
||||
7osH7f7CY2aFRWbCLAy1odTex/M=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Assets.car</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
Y8vFWeV9aMFK2k/Fmvn1VKDb4G4=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
R6hkb6fWvTpPEJXUWnyv4rhwHuVVIqsihlgRCdNNoz4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/3Jh-0i-2oC-view-FlG-D0-fB4.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
EN/jmkBY5XqitaaV2kWybEgMtTE=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
8KgZX7l1DB4wlq8OlL6h9gk2PUditNbKqqR7qnoHCoc=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/8cO-Uq-prt-view-GPE-0I-haQ.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
vZO5vWZuRi0vaSFqKPCW1qksfDE=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
aK2kvZcgmqywotLHVkXGbEh1LkOnXWQEX6RKwgp3f7s=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
71E/nyD1JC6i4rw6+kjjVgE/fZA=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
d1R62G7VThDKTjMMGGoUR6TC9bR0hjwLNqAggKJwsS0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/MainMenu.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
lC9mNWqzXYAYynusmnCrDuM3hvI=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ZBTMovff3XB5dFKWqxpFhQsHN7/F4Zfp45tuh4OSDB0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/NSViewController-3Jh-0i-2oC.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
jBRfznhMbiKUnUxlCD1QLUegGsc=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
niqIc11tpbnFJIeMHBNiCcjwUkpkJvJJoAKTguRNp/s=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
S9xl+rRRrH6aWKPTrX11XmKhYtA=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
unrn3sgw+6nM2WDwyTjK8g/wIOAogLhFXRotyPK6xIw=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/NSWindowController-QqD-oc-2tR.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
a5hup3BYBUycbe+iJd/nx+VQ/rA=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
P/jSqX6j8bzFQoaQzsZl49a9zRuMnaO4/Gq+iECoDu4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
7osH7f7CY2aFRWbCLAy1odTex/M=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
aNkXpHLXtb/zTBJ/LsXFPlcRqVfZh4L5qRk4kUZx2NE=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
常用工具/便捷PS工具.exe
BIN
常用工具/便捷PS工具.exe
Binary file not shown.
53
快捷键说明.txt
53
快捷键说明.txt
@ -1,53 +0,0 @@
|
||||
快捷键说明:
|
||||
|
||||
=== 全局 ===
|
||||
[↑][↓][←][→] 移动勇士
|
||||
[CTRL] 跳过对话
|
||||
[Z] 转向
|
||||
[X] 打开/关闭怪物手册
|
||||
[G] 打开/关闭楼层传送器
|
||||
[A] 读取自动存档
|
||||
[S] 打开/关闭存档页面
|
||||
[D] 打开/关闭读档页面
|
||||
[K] 打开/关闭快捷商店选择列表
|
||||
[T] 打开/关闭工具栏
|
||||
[ESC] 打开/关闭系统菜单
|
||||
[E] 显示光标
|
||||
[H] 打开帮助页面
|
||||
[R] 回放
|
||||
[SPACE] 轻按(仅在轻按开关打开时有效)
|
||||
[1] 快捷使用破墙镐
|
||||
[2] 快捷使用炸弹/圣锤(先检测有没有炸弹,没有再检测圣锤)
|
||||
[3] 快捷使用中心对称飞行器
|
||||
|
||||
=== 文本显示界面 ===
|
||||
[SPACE]/[ENTER] 继续
|
||||
|
||||
=== 选项列表 ===
|
||||
[↑][↓] 移动当前选择项
|
||||
[ESC] 返回
|
||||
[SPACE]/[ENTER] 确认该选项
|
||||
|
||||
=== 怪物手册页面 ===
|
||||
[↑][↓][←][→] 翻页
|
||||
[ESC]/[X] 关闭怪物手册
|
||||
|
||||
=== 楼传器页面 ===
|
||||
[↑][↓][←][→] 更改楼层
|
||||
[SPACE]/[ENTER] 确认传送
|
||||
[ESC]/[G] 关闭楼传器
|
||||
|
||||
=== 道具栏页面 ===
|
||||
[↑][↓][←][→] 更改当前道具
|
||||
[SPACE]/[ENTER] 确认使用道具
|
||||
[ESC]/[T] 关闭道具栏
|
||||
|
||||
=== 存读档页面 ===
|
||||
[↑][↓][←][→] 更改当前存读档位置
|
||||
[PAGEUP][PAGEDOWN] 存读档翻页
|
||||
[SPACE]/[ENTER] 确认存读档
|
||||
[ESC]/[S]/[D] 关闭存读档界面
|
||||
|
||||
=== 正在使用中心对称飞行器时 ===
|
||||
[3]/[SPACE]/[ENTER] 确认飞行
|
||||
其他键 取消飞行
|
||||
29
更新说明.txt
29
更新说明.txt
@ -1,19 +1,20 @@
|
||||
HTML5魔塔样板V2.3
|
||||
|
||||
地图编辑器可以右键复制或移动图块 √
|
||||
事件:while循环处理 √
|
||||
事件:等待用户操作并获得按键或点击信息 √
|
||||
地图数据统计 √
|
||||
衰弱可以减少攻防的比例 √
|
||||
便捷PS工具可以批量导入素材 √
|
||||
除Autotile外均可自动注册 √
|
||||
支持status:x获得当前坐标 √
|
||||
core.debug()改成调试模式,可以Ctrl穿墙 √
|
||||
新建地图可以保留楼层属性 √
|
||||
地图编辑器可用PageUp和PageDown切换楼层 √
|
||||
提供大量素材,可直接取用 √
|
||||
重写大部分教程,新增大量拓展描述 √
|
||||
大量细节进行优化,所有已知的bug进行了修复 √
|
||||
启动服务和便捷PS工具(Mac版)
|
||||
地图编辑器可以右键复制或移动图块
|
||||
事件:while循环处理
|
||||
事件:等待用户操作并获得按键或点击信息
|
||||
地图数据统计
|
||||
衰弱可以减少攻防的比例
|
||||
便捷PS工具可以批量导入素材
|
||||
除Autotile外均可自动注册
|
||||
支持status:x获得当前坐标
|
||||
core.debug()改成调试模式,可以Ctrl穿墙
|
||||
新建地图可以保留楼层属性
|
||||
地图编辑器可用PageUp和PageDown切换楼层
|
||||
提供大量素材,可直接取用
|
||||
重写大部分教程,新增大量拓展描述
|
||||
大量细节进行优化,所有已知的bug进行了修复
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
|
||||
16
素材整理下载地址.txt
Normal file
16
素材整理下载地址.txt
Normal file
@ -0,0 +1,16 @@
|
||||
将几个RM塔的素材进行归整后,上传到了百度网盘和QQ群文件可供下载使用。
|
||||
|
||||
包含:
|
||||
- 地面图(Tilesets)
|
||||
- 道具和帧动画
|
||||
- 行走图(勇士、怪物和NPC等)
|
||||
- 动画(可被RM动画导出器直接导出)
|
||||
- 自动元件(Autotiles)
|
||||
- 音效
|
||||
等六个部分
|
||||
|
||||
百度网盘下载地址:
|
||||
|
||||
https://pan.baidu.com/s/1vXICR79ZoP5LXujhlAjN-A
|
||||
|
||||
也可以在HTML5魔塔交流群539113091的群文件中找“常用素材”下载。
|
||||
Loading…
Reference in New Issue
Block a user