From c31e96111263e99598527b8ec53e81c5bf23efac Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 13 Oct 2020 17:02:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6272=E6=94=B9=20-=20=E8=A1=A5?= =?UTF-8?q?=E5=85=A8=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_blockly.js | 14 ++++++++++++++ _server/editor_datapanel.js | 4 ++-- _server/editor_file.js | 6 ++++-- _server/thirdparty/awesomplete.css | 1 + mota-js10月和273issue.txt | 4 ++-- project/enemys.js | 1 - 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 21cb675c..76ac59c5 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -801,12 +801,26 @@ editor_blockly = function () { }, filter: function () {return true;}, item: function (text, input) { + var id = text.label, info = core.getBlockInfo(id); var li = document.createElement("li"); li.setAttribute("role", "option"); li.setAttribute("aria-selected", "false"); input = awesomplete.prefix.trim(); if (input != "") text = text.replace(new RegExp("^"+input, "i"), "$&"); li.innerHTML = text; + if (info) { + var height = (info.height || 32), width = 32; + var scale = 75; + height *= scale / 100; + width *= scale / 100; + var ctx = core.createCanvas('list_' + id, 0, 0, width, height), + canvas = ctx.canvas; + canvas.style.display = 'inline'; + canvas.style.marginRight = '8px'; + core.drawIcon(ctx, id, 0, 0, width, height); + canvas.style.position = ''; + li.insertBefore(canvas, li.children[0]); + } return li; }, sort: function (a, b) { diff --git a/_server/editor_datapanel.js b/_server/editor_datapanel.js index 425a6a10..6cb29725 100644 --- a/_server/editor_datapanel.js +++ b/_server/editor_datapanel.js @@ -993,8 +993,8 @@ editor_datapanel_wrapper = function (editor) { var ysize = value.endsWith('48') ? 48 : 32; var sw = editor.dom.appendSourceCtx.canvas.width, sh = editor.dom.appendSourceCtx.canvas.height; if (value == 'items') { - if ((sw != 96 && sw != 128) || sh != 4 * ysize) { - return printe("只有 3*4 或 4*4 的道具才可以快速导入!"); + if (sw % 32 || sh % 32) { + return printe("只有长宽都是32的倍数的道具图才可以快速导入!"); } } else { if (sw != 128 || sh != 4 * ysize) { diff --git a/_server/editor_file.js b/_server/editor_file.js index 3084adbf..b4a3608c 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -306,7 +306,7 @@ editor_file = function (editor, callback) { callback('不能对自动元件进行自动注册!'); return; } - if (image=='npc48' && confirm("你想绑定npc48的朝向么?\n如果是,则会连续四个一组的对npc48的faceIds进行自动绑定。")) { + if (image=='npc48' && confirm("你想绑定npc48的朝向么?\n如果是,则会将最后四个npc48的faceIds进行自动绑定。")) { bindFaceIds = true; } var c=image.toUpperCase().charAt(0); @@ -355,7 +355,9 @@ editor_file = function (editor, callback) { } if (bindFaceIds) { - for (var i = 0; i < faceIds.length - 3; i+=4) { + // 只绑定最后四个,防止之前的单向npc乱掉 + if (faceIds.length >= 4) { + var i = faceIds.length - 4; var down = faceIds[i], left = faceIds[i+1], right = faceIds[i+2], up = faceIds[i+3]; var obj = {down: down.id, left: left.id, right: right.id, up: up.id}; mapActions.push(["add", "['" + down.idnum + "']['faceIds']", obj]); diff --git a/_server/thirdparty/awesomplete.css b/_server/thirdparty/awesomplete.css index 38d94beb..5f5323e2 100644 --- a/_server/thirdparty/awesomplete.css +++ b/_server/thirdparty/awesomplete.css @@ -24,6 +24,7 @@ list-style: none; padding: 0; margin: 0; + white-space: nowrap; } .awesomplete > ul:empty { diff --git a/mota-js10月和273issue.txt b/mota-js10月和273issue.txt index ff791d02..91deaa4e 100644 --- a/mota-js10月和273issue.txt +++ b/mota-js10月和273issue.txt @@ -15,7 +15,7 @@ (x)9. 玩家设置中追加了左撇子模式,开启后wsad起方向键的作用,ijkl起原wsad的SL作用,以方便键鼠并用。 (√)10. 移除了部分引用极少的函数,如仇恨怪详情、claerTip和 (x)10.1 tryUseItem改成了直接inline,从道具栏使用道具失败时不再closePanel,以方便玩家继续选择其他道具(破炸冰这三个先斩后奏的就没办法了)。 -11. 快速追加npc48一键绑定朝向改为只绑定最后四个,以免影响前面可能的单朝向npc +(√)11. 快速追加npc48一键绑定朝向改为只绑定最后四个,以免影响前面可能的单朝向npc (√)12. 事件层为自动元件或tileset且没有碰触脚本时,该点前景层不再虚化(272改版里若某点只有前景没有事件会出bug,多语言版里已修复),以保证观感的统一。 (x)13. 阻激夹域捕捉的显伤排除了不可通行点,以保证观感。 (√)13.1 修复了零伤阻击点无法阻拦瞬移的bug,并交换了阻击怪后退和捕捉怪移动的次序。 @@ -30,7 +30,7 @@ (x)20. 难度单词为空字符串时显示“竖屏数字键”,以提示竖屏玩家。另外希望修复读档等场合红一下的bug (√)21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。 (x)22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画(暂不包括F7)的绘制(此功能建议要么merge要么作为系统开关让作者取舍,毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系),其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。 -23. 事件编辑器中图块id自动补全追加了图标,感谢ad,更新了atkValue、defValue、range和n等的表格注释。 +(√)23. 事件编辑器中图块id自动补全追加了图标,感谢ad,更新了atkValue、defValue、range和n等的表格注释。 (√)24. 修改了formatBigNumber对±∞的处理方式,现在它们也会变成???了。 (x)24.1 另外建议把onMap参数细化为有效数字的位数,以供作者更灵活地使用。 (x)25. P键和通关url的&num=10改成了&num=1,以方便玩家翻阅到评论区。移除了equip.mp3,穿脱装备改为播放centerFly.mp3 diff --git a/project/enemys.js b/project/enemys.js index 01985277..189a2750 100644 --- a/project/enemys.js +++ b/project/enemys.js @@ -45,7 +45,6 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "silverSlimelord": {"name":"银怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "goldSlimelord": {"name":"金怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "skeletonWarrior": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, - "ghostWarrior": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"exp":0,"point":0,"special":7}, "whiteSlimeman": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "slimeman": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, "yellowGateKeeper": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0},