优化部分事件
This commit is contained in:
parent
fe0e4049af
commit
f9a84954e1
@ -2235,13 +2235,13 @@ return code;
|
|||||||
*/;
|
*/;
|
||||||
|
|
||||||
fillBoldText_s
|
fillBoldText_s
|
||||||
: '绘制描边文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '字体' EvalString? BGNL? EvalString Newline
|
: '绘制描边文本' 'x' PosString 'y' PosString '样式' EvalString? Colour '描边颜色' EvalString? Colour '字体' EvalString? BGNL? EvalString Newline
|
||||||
|
|
||||||
/* fillBoldText_s
|
/* fillBoldText_s
|
||||||
tooltip : fillBoldText:绘制一行描边文本
|
tooltip : fillBoldText:绘制一行描边文本
|
||||||
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillBoldText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%8f%8f%e8%be%b9%e6%96%87%e6%9c%ac
|
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=fillBoldText%ef%bc%9a%e7%bb%98%e5%88%b6%e6%8f%8f%e8%be%b9%e6%96%87%e6%9c%ac
|
||||||
colour : this.subColor
|
colour : this.subColor
|
||||||
default : ["0","0","",'rgba(255,255,255,1)',"","绘制一行描边文本"]
|
default : ["0","0","",'rgba(255,255,255,1)',"",'rgba(0,0,0,1)',"","绘制一行描边文本"]
|
||||||
var colorRe = MotaActionFunctions.pattern.colorRe;
|
var colorRe = MotaActionFunctions.pattern.colorRe;
|
||||||
var fontRe = MotaActionFunctions.pattern.fontRe;
|
var fontRe = MotaActionFunctions.pattern.fontRe;
|
||||||
if (EvalString_0) {
|
if (EvalString_0) {
|
||||||
@ -2249,10 +2249,14 @@ if (EvalString_0) {
|
|||||||
EvalString_0 = ', "style": ['+EvalString_0+']';
|
EvalString_0 = ', "style": ['+EvalString_0+']';
|
||||||
}
|
}
|
||||||
if (EvalString_1) {
|
if (EvalString_1) {
|
||||||
if (!fontRe.test(EvalString_1)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填');
|
if (!colorRe.test(EvalString_1))throw new Error('颜色格式错误,形如:0~255,0~255,0~255,0~1');
|
||||||
EvalString_1 = ', "font": "' + EvalString_1 + '"';
|
EvalString_1 = ', "strokeStyle": ['+EvalString_1+']';
|
||||||
}
|
}
|
||||||
var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+', "text": "'+EvalString_2+'"},\n';
|
if (EvalString_2) {
|
||||||
|
if (!fontRe.test(EvalString_2)) throw new Error('字体必须是 [italic] [bold] 14px Verdana 这种形式或不填');
|
||||||
|
EvalString_2 = ', "font": "' + EvalString_2 + '"';
|
||||||
|
}
|
||||||
|
var code = '{"type": "fillBoldText", "x": '+PosString_0+', "y": '+PosString_1+EvalString_0+EvalString_1+EvalString_2+', "text": "'+EvalString_3+'"},\n';
|
||||||
return code;
|
return code;
|
||||||
*/;
|
*/;
|
||||||
|
|
||||||
@ -2490,17 +2494,18 @@ return code;
|
|||||||
*/;
|
*/;
|
||||||
|
|
||||||
drawIcon_s
|
drawIcon_s
|
||||||
: '绘制图标' 'ID' IdString '起点像素' 'x' PosString 'y' PosString '宽' PosString? '高' PosString? Newline
|
: '绘制图标' 'ID' IdString '帧' Int '起点像素' 'x' PosString 'y' PosString '宽' PosString? '高' PosString? Newline
|
||||||
|
|
||||||
|
|
||||||
/* drawIcon_s
|
/* drawIcon_s
|
||||||
tooltip : drawIcon:绘制图标
|
tooltip : drawIcon:绘制图标
|
||||||
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawIcon%ef%bc%9a%e7%bb%98%e5%88%b6%e5%9b%be%e6%a0%87
|
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=drawIcon%ef%bc%9a%e7%bb%98%e5%88%b6%e5%9b%be%e6%a0%87
|
||||||
default : ["yellowKey","0","0","",""]
|
default : ["yellowKey",0,"0","0","",""]
|
||||||
colour : this.subColor
|
colour : this.subColor
|
||||||
|
Int_0 = Int_0 ? (', "frame": '+Int_0) : '';
|
||||||
PosString_2 = PosString_2 ? (', "width": '+PosString_2) : '';
|
PosString_2 = PosString_2 ? (', "width": '+PosString_2) : '';
|
||||||
PosString_3 = PosString_3 ? (', "height": '+PosString_3) : '';
|
PosString_3 = PosString_3 ? (', "height": '+PosString_3) : '';
|
||||||
var code = '{"type": "drawIcon", "id": "'+IdString_0+'", "x": '+PosString_0+', "y": '+PosString_1+PosString_2+PosString_3+'},\n';
|
var code = '{"type": "drawIcon", "id": "'+IdString_0+'"'+Int_0+', "x": '+PosString_0+', "y": '+PosString_1+PosString_2+PosString_3+'},\n';
|
||||||
return code;
|
return code;
|
||||||
*/;
|
*/;
|
||||||
|
|
||||||
@ -2794,8 +2799,8 @@ TextAlign_List
|
|||||||
/*TextAlign_List ['null','left','center','right']*/;
|
/*TextAlign_List ['null','left','center','right']*/;
|
||||||
|
|
||||||
TextBaseline_List
|
TextBaseline_List
|
||||||
: '不改变'|'顶部'|'居中'|'标准值'|'底部'
|
: '不改变'|'顶部'|'悬挂'|'居中'|'标准值'|'ideographic'|'底部'
|
||||||
/*TextBaseline_List ['null','top','middle','alphabetic','bottom']*/;
|
/*TextBaseline_List ['null','top','hanging','middle','alphabetic','ideographic','bottom']*/;
|
||||||
|
|
||||||
ShopUse_List
|
ShopUse_List
|
||||||
: '金币' | '经验'
|
: '金币' | '经验'
|
||||||
@ -2893,8 +2898,8 @@ Id_List
|
|||||||
/*Id_List ['flag','status','item', 'switch', 'global']*/;
|
/*Id_List ['flag','status','item', 'switch', 'global']*/;
|
||||||
|
|
||||||
EnemyId_List
|
EnemyId_List
|
||||||
: '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'
|
: '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage'
|
||||||
/*EnemyId_List ['hp','atk','def','money','experience','point','special','name']*/;
|
/*EnemyId_List ['hp','atk','def','money','experience','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/;
|
||||||
|
|
||||||
//转blockly后不保留需要加"
|
//转blockly后不保留需要加"
|
||||||
EvalString
|
EvalString
|
||||||
@ -3684,7 +3689,8 @@ ActionParser.prototype.parseAction = function() {
|
|||||||
case "fillBoldText": // 绘制一行描边文本
|
case "fillBoldText": // 绘制一行描边文本
|
||||||
data.style = this.Colour(data.style);
|
data.style = this.Colour(data.style);
|
||||||
this.next = MotaActionBlocks['fillBoldText_s'].xmlText([
|
this.next = MotaActionBlocks['fillBoldText_s'].xmlText([
|
||||||
data.x, data.y, data.style, 'rgba('+data.style+')', data.font, this.EvalString(data.text), this.next
|
data.x, data.y, data.style, 'rgba('+data.style+')', data.strokeStyle, 'rgba('+(data.strokeStyle||"0,0,0,1")+')',
|
||||||
|
data.font, this.EvalString(data.text), this.next
|
||||||
]);
|
]);
|
||||||
break;
|
break;
|
||||||
case "drawTextContent": // 绘制多行文本
|
case "drawTextContent": // 绘制多行文本
|
||||||
@ -3766,7 +3772,7 @@ ActionParser.prototype.parseAction = function() {
|
|||||||
break;
|
break;
|
||||||
case "drawIcon": // 绘制图标
|
case "drawIcon": // 绘制图标
|
||||||
this.next = MotaActionBlocks['drawIcon_s'].xmlText([
|
this.next = MotaActionBlocks['drawIcon_s'].xmlText([
|
||||||
data.id, data.x, data.y, data.width, data.height, this.next
|
data.id, data.frame||0, data.x, data.y, data.width, data.height, this.next
|
||||||
]);
|
]);
|
||||||
break;
|
break;
|
||||||
case "drawBackground": // 绘制背景
|
case "drawBackground": // 绘制背景
|
||||||
|
|||||||
15
libs/ui.js
15
libs/ui.js
@ -103,13 +103,15 @@ ui.prototype._fillTextWithMaxWidth = function (ctx, text, x, y, maxWidth) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
////// 在某个canvas上绘制粗体 //////
|
////// 在某个canvas上绘制粗体 //////
|
||||||
ui.prototype.fillBoldText = function (name, text, x, y, style, font) {
|
ui.prototype.fillBoldText = function (name, text, x, y, style, strokeStyle, font) {
|
||||||
var ctx = this.getContextByName(name);
|
var ctx = this.getContextByName(name);
|
||||||
if (!ctx) return;
|
if (!ctx) return;
|
||||||
if (font) ctx.font = font;
|
if (font) ctx.font = font;
|
||||||
if (!style) style = ctx.fillStyle;
|
if (!style) style = ctx.fillStyle;
|
||||||
if (style instanceof Array) style = core.arrayToRGBA(style);
|
if (style instanceof Array) style = core.arrayToRGBA(style);
|
||||||
ctx.fillStyle = '#000000';
|
if (!strokeStyle) strokeStyle = '#000000';
|
||||||
|
if (strokeStyle instanceof Array) strokeStyle = core.arrayToRGBA(strokeStyle);
|
||||||
|
ctx.fillStyle = strokeStyle;
|
||||||
ctx.fillText(text, x-1, y-1);
|
ctx.fillText(text, x-1, y-1);
|
||||||
ctx.fillText(text, x-1, y+1);
|
ctx.fillText(text, x-1, y+1);
|
||||||
ctx.fillText(text, x+1, y-1);
|
ctx.fillText(text, x+1, y-1);
|
||||||
@ -120,7 +122,7 @@ ui.prototype.fillBoldText = function (name, text, x, y, style, font) {
|
|||||||
|
|
||||||
ui.prototype._uievent_fillBoldText = function (data) {
|
ui.prototype._uievent_fillBoldText = function (data) {
|
||||||
this._createUIEvent();
|
this._createUIEvent();
|
||||||
this.fillBoldText('uievent', core.replaceText(data.text), core.calValue(data.x), core.calValue(data.y), data.style, data.font);
|
this.fillBoldText('uievent', core.replaceText(data.text), core.calValue(data.x), core.calValue(data.y), data.style, data.strokeStyle, data.font);
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 在某个canvas上绘制一个矩形 //////
|
////// 在某个canvas上绘制一个矩形 //////
|
||||||
@ -413,7 +415,8 @@ ui.prototype._uievent_drawImage = function (data) {
|
|||||||
core.calValue(data.x1), core.calValue(data.y1), core.calValue(data.w1), core.calValue(data.h1));
|
core.calValue(data.x1), core.calValue(data.y1), core.calValue(data.w1), core.calValue(data.h1));
|
||||||
}
|
}
|
||||||
|
|
||||||
ui.prototype.drawIcon = function (name, id, x, y, w, h) {
|
ui.prototype.drawIcon = function (name, id, x, y, w, h, frame) {
|
||||||
|
frame = frame || 0;
|
||||||
var ctx = this.getContextByName(name);
|
var ctx = this.getContextByName(name);
|
||||||
if (!ctx) return;
|
if (!ctx) return;
|
||||||
var info = core.getBlockInfo(id);
|
var info = core.getBlockInfo(id);
|
||||||
@ -423,7 +426,7 @@ ui.prototype.drawIcon = function (name, id, x, y, w, h) {
|
|||||||
info = {image: core.statusBar.icons[id], posX: 0, posY: 0, height: 32};
|
info = {image: core.statusBar.icons[id], posX: 0, posY: 0, height: 32};
|
||||||
else return;
|
else return;
|
||||||
}
|
}
|
||||||
ctx.drawImage(info.image, 32 * info.posX, info.height * info.posY, 32, info.height, x, y, w || 32, h || info.height);
|
ctx.drawImage(info.image, 32 * (info.posX + frame), info.height * info.posY, 32, info.height, x, y, w || 32, h || info.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
ui.prototype._uievent_drawIcon = function (data) {
|
ui.prototype._uievent_drawIcon = function (data) {
|
||||||
@ -433,7 +436,7 @@ ui.prototype._uievent_drawIcon = function (data) {
|
|||||||
id = core.calValue(data.id);
|
id = core.calValue(data.id);
|
||||||
if (typeof id !== 'string') id = data.id;
|
if (typeof id !== 'string') id = data.id;
|
||||||
} catch (e) { id = data.id; }
|
} catch (e) { id = data.id; }
|
||||||
this.drawIcon('uievent', id, core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height));
|
this.drawIcon('uievent', id, core.calValue(data.x), core.calValue(data.y), core.calValue(data.width), core.calValue(data.height), data.frame||0);
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////// UI绘制
|
///////////////// UI绘制
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
(已完成!) 1.(来自鹿神)门和像三种基础墙一样的墙应当提供一个“需要消耗多少把哪种钥匙、开关门分别播放什么音效”的属性,如[{"yellowKey": 2, "blueKey": 1}, "door.mp3", "close.mp3"],多种钥匙之间的关系可以为&&或||
|
(已完成!) 1.(来自鹿神)门和像三种基础墙一样的墙应当提供一个“需要消耗多少把哪种钥匙、开关门分别播放什么音效”的属性,如[{"yellowKey": 2, "blueKey": 1}, "door.mp3", "close.mp3"],多种钥匙之间的关系可以为&&或||
|
||||||
(已完成!) 2.(来自小艾)请求修复瞬移判定无视图块属性script项的bug
|
(已完成!) 2.(来自小艾)请求修复瞬移判定无视图块属性script项的bug
|
||||||
(已完成!) 3. 请求修复(如果还没修复)core.drawTip()不能使用系统图标和clear参数的bug,建议增加一个参数来表示多帧图块绘制第几帧
|
(已完成!) 3. 请求修复(如果还没修复)core.drawTip()不能使用系统图标和clear参数的bug,建议增加一个参数来表示多帧图块绘制第几帧
|
||||||
3.1 (“UI绘制”类事件中的“绘制图标”同理)
|
(已完成!) 3.1 (“UI绘制”类事件中的“绘制图标”同理)
|
||||||
(已完成!\b[up,null]可实现此效果) 4. 建议显示文章的\b[]提供top和bottom这两种新写法来实现在顶部或底部显示对话框,目前只有startText、firstArrive、eachArrive、useItemEvent和公共事件等没有当前点的事件中才能用up和down来临时实现这种效果,否则就得设置剧情文本的属性,这在频繁来回切换时是致命的,就像《无上之光》RMXP版地上40层一样
|
(已完成!\b[up,null]可实现此效果) 4. 建议显示文章的\b[]提供top和bottom这两种新写法来实现在顶部或底部显示对话框,目前只有startText、firstArrive、eachArrive、useItemEvent和公共事件等没有当前点的事件中才能用up和down来临时实现这种效果,否则就得设置剧情文本的属性,这在频繁来回切换时是致命的,就像《无上之光》RMXP版地上40层一样
|
||||||
5. 建议优化core.splitLines()来避免把单词打断和触犯标点禁则,如点号和右标号禁止用于行首,左标号禁止用于行尾
|
5. 建议优化core.splitLines()来避免把单词打断和触犯标点禁则,如点号和右标号禁止用于行首,左标号禁止用于行尾
|
||||||
(已完成!) 6. core.drawAnimate()和对应的事件,建议增加一个boolean型参数来表示坐标是绝对坐标(即当前的实现)还是在视野中的相对坐标(以13*13为例相对坐标总是在0~12之间),以实现形如“在视野正中心播放某某动画”的需求(小地图可以写6,6,大地图怎么办)
|
(已完成!) 6. core.drawAnimate()和对应的事件,建议增加一个boolean型参数来表示坐标是绝对坐标(即当前的实现)还是在视野中的相对坐标(以13*13为例相对坐标总是在0~12之间),以实现形如“在视野正中心播放某某动画”的需求(小地图可以写6,6,大地图怎么办)
|
||||||
@ -10,12 +10,12 @@
|
|||||||
(已完成!) 9. 建议给“显示选择项”、“显示确认框”、“等待用户操作”这三个事件添加一个“若多少毫秒内不响应则触发的分支”,用来实现一些如新新2的QTE,录像中可以记录“choice: timeout”、“confirm: timeout”和“wait: timeout”来表示触发了超时分支
|
(已完成!) 9. 建议给“显示选择项”、“显示确认框”、“等待用户操作”这三个事件添加一个“若多少毫秒内不响应则触发的分支”,用来实现一些如新新2的QTE,录像中可以记录“choice: timeout”、“confirm: timeout”和“wait: timeout”来表示触发了超时分支
|
||||||
10. 建议给“转变图块”事件增加一个淡入时间参数,用于原本是空地或空气墙的情况,目前这种效果必须借助存在安全隐患的红点
|
10. 建议给“转变图块”事件增加一个淡入时间参数,用于原本是空地或空气墙的情况,目前这种效果必须借助存在安全隐患的红点
|
||||||
11. 建议修复勇士后退时跟随者的鬼畜行为,并推出一套能够对跟随者位置和朝向进行读写的API甚至事件,且允许这些信息被计入存档,以实现一些演出效果甚至游戏要素,如新新2用公主占位防冰块
|
11. 建议修复勇士后退时跟随者的鬼畜行为,并推出一套能够对跟随者位置和朝向进行读写的API甚至事件,且允许这些信息被计入存档,以实现一些演出效果甚至游戏要素,如新新2用公主占位防冰块
|
||||||
12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持
|
(已完成!) 12. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持
|
||||||
13. 建议给core.moveAction(callback)提供对应的事件,用于在事件中让勇士像事件外一样移动,从而正常触发跑毒和阻激夹域捕等
|
13. 建议给core.moveAction(callback)提供对应的事件,用于在事件中让勇士像事件外一样移动,从而正常触发跑毒和阻激夹域捕等
|
||||||
14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者
|
14. core.openShop()和对应的事件,建议在用于公共事件时简单地退化为“插入公共事件”而不要打断当前事件,把决定权交给作者
|
||||||
(已完成!) 15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下
|
(已完成!) 15. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内由作者根据flag再行分歧),建议支持一下
|
||||||
16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边
|
(已完成!) 16. “绘制描边文本”事件建议加一个“描边颜色”参数,目前只能描黑边
|
||||||
17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式
|
(已完成!) 17. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式
|
||||||
18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显
|
18. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显
|
||||||
19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配)
|
19.(来自群友)建议给第一代全局商店的子选项像“显示选择项”一样提供图标、颜色和出现条件(注意长按的适配)
|
||||||
20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复
|
20. 很多事件对应的脚本有默认参数,但在事件中省略参数却会变成0,建议修复
|
||||||
@ -26,6 +26,11 @@
|
|||||||
(已完成!) 清除最近使用图块
|
(已完成!) 清除最近使用图块
|
||||||
(已完成!) cannotIn / cannotOut使用选项框
|
(已完成!) cannotIn / cannotOut使用选项框
|
||||||
(已完成!) noPass->canPass改成选择框
|
(已完成!) noPass->canPass改成选择框
|
||||||
|
初始化&读档优化:不一次读取全部楼层并创建
|
||||||
|
绿钥匙进状态栏
|
||||||
|
图块ID不可全数字
|
||||||
|
怪物详细信息富文本化
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe”
|
(不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe”
|
||||||
@ -90,7 +95,7 @@
|
|||||||
(不处理) 57. 希望\t[hero]和\t[xxx,hero]能像图块一样绘制原地抖动的4帧全局动画而不是不动,希望能使用勇士的当前朝向而不是一直朝下,希望能使用\t[hero1]和\t[xxx,hero1]这样的写法来使用跟随者的行走图作为头像
|
(不处理) 57. 希望\t[hero]和\t[xxx,hero]能像图块一样绘制原地抖动的4帧全局动画而不是不动,希望能使用勇士的当前朝向而不是一直朝下,希望能使用\t[hero1]和\t[xxx,hero1]这样的写法来使用跟随者的行走图作为头像
|
||||||
(文档相关给秋橙) 58. 建议在在线文档中给\r支持的颜色单词做一下枚举并写出对应的RGB值
|
(文档相关给秋橙) 58. 建议在在线文档中给\r支持的颜色单词做一下枚举并写出对应的RGB值
|
||||||
(不处理) 59. 在标题画面调用core.hideStartAnimate(core.startGame)会立即开始游戏并跳过难度选择,可能造成非作者预期的效果,有办法优化吗?
|
(不处理) 59. 在标题画面调用core.hideStartAnimate(core.startGame)会立即开始游戏并跳过难度选择,可能造成非作者预期的效果,有办法优化吗?
|
||||||
60. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持
|
(已完成!) 60. “设置怪物属性”事件的下拉框目前只支持一部分,另一部分只能通过手敲json再解析来得到,希望提供完整支持
|
||||||
61. 在事件编辑器中进行地图选点时,有些事件指令虽然只能用于同楼层,但实际生效时勇士可能已经不在当前正在编辑的楼层(比如在一个楼层切换事件指令后)了,所以希望地图选点始终提供楼层下拉表
|
61. 在事件编辑器中进行地图选点时,有些事件指令虽然只能用于同楼层,但实际生效时勇士可能已经不在当前正在编辑的楼层(比如在一个楼层切换事件指令后)了,所以希望地图选点始终提供楼层下拉表
|
||||||
(文档相关给秋橙) 62. 希望在线文档介绍一下楼层和startText的独立开关的flag表示
|
(文档相关给秋橙) 62. 希望在线文档介绍一下楼层和startText的独立开关的flag表示
|
||||||
63. 希望给core.moveAction(callback)函数提供一个对应的事件指令,用于在事件流处理中让勇士进行一些有游戏性意义(即非纯演出)的移动。如果做不到的话希望参照本文的46号issue作为原生脚本勾选async的例子讲解如何使用
|
63. 希望给core.moveAction(callback)函数提供一个对应的事件指令,用于在事件流处理中让勇士进行一些有游戏性意义(即非纯演出)的移动。如果做不到的话希望参照本文的46号issue作为原生脚本勾选async的例子讲解如何使用
|
||||||
@ -102,9 +107,9 @@
|
|||||||
(已修复!) 69. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内再行分歧),希望支持一下
|
(已修复!) 69. “等待用户操作”虽然提供了场合块但还不支持将多个按键的场合合并(比如空格、回车和C键一般会被作者予以合并,执行内容如果只是大致相同也值得合并,在块内再行分歧),希望支持一下
|
||||||
70. “显隐勇士”事件指令希望加个淡入淡出时间参数
|
70. “显隐勇士”事件指令希望加个淡入淡出时间参数
|
||||||
(不处理,请用等待事件) 1. 希望给core.drawTip()和core.playSound()出个同步版本,目前只有异步版本,后者如果要模拟同步就得绑在一个透明动画上
|
(不处理,请用等待事件) 1. 希望给core.drawTip()和core.playSound()出个同步版本,目前只有异步版本,后者如果要模拟同步就得绑在一个透明动画上
|
||||||
72. “绘制描边文本”事件希望加一个“描边颜色”参数,目前只能描黑边
|
(已完成!) 72. “绘制描边文本”事件希望加一个“描边颜色”参数,目前只能描黑边
|
||||||
73. 画弧既然有现成的API,那建议也作为UI绘制事件提供。甚至希望提供画椭圆功能(长短轴水平或铅直的那种)参数为中心坐标和长短轴长度
|
73. 画弧既然有现成的API,那建议也作为UI绘制事件提供。甚至希望提供画椭圆功能(长短轴水平或铅直的那种)参数为中心坐标和长短轴长度
|
||||||
74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式
|
(已完成!) 74. “设置画布属性”的基准线建议增加'hanging'和'ideographic'这两种模式
|
||||||
75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显
|
75. 建议修复“绘制多行文本”时行距比字号大不太多会导致各行下缘丢失的bug(加大行距又会导致第一行的纵坐标难以估计),此bug在道具商店和1.3倍行距英文看的很明显
|
||||||
76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件
|
76. (来自群友)建议给第一代全局商店像“显示选择项”一样提供图标、颜色和出现条件
|
||||||
(不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符)
|
(不处理) 77. 建议给core.searchBlock()新增问号通配符(匹配一个任意字符)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user