This commit is contained in:
oc 2018-05-27 23:17:10 +08:00
parent 91baf5e655
commit 841e56ee21
33 changed files with 357 additions and 22 deletions

View File

@ -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"])

View File

@ -1,6 +1,6 @@
# V2.0版本介绍
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
目前样板已经更新到V2.0版本以上本章将对V2.0的一些内容进行介绍。

View File

@ -1,6 +1,6 @@
# 附录: API列表
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
**这里只列出所有可能会被造塔者用到的常用API更多的有关内容请在代码内进行查询。**

View File

@ -1,6 +1,6 @@
# 元件说明
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。

View File

@ -1,6 +1,6 @@
# 事件
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
本章内将对样板所支持的事件进行介绍。

View File

@ -1,6 +1,6 @@
# HTML5 魔塔样板说明文档
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
众所周知魔塔的趋势是向移动端发展贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中NekoRPG有着比较大的局限性游戏感较差更是完全没法在iOS上运行。而一些APP的魔塔虽然可用但是必须要下载安装对于Android和iOS还必须开发不同的版本非常麻烦。

View File

@ -1,6 +1,6 @@
# 个性化
?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
?> 目前版本**v2.3**,上次更新时间:* {docsify-updated} *
有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。

View File

@ -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”
![启动服务](img/server.png)

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

File diff suppressed because one or more lines are too long

1
libs/data.min.js vendored Normal file
View 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

File diff suppressed because one or more lines are too long

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
View 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
View 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
View 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

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

View 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>

Binary file not shown.

View File

@ -0,0 +1 @@
APPL????

Binary file not shown.

View 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>

View File

@ -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进行了修复
-----------------------------------------------------------------------