changeFont
This commit is contained in:
parent
d9b905c9ef
commit
3ba1ff07cf
10
API列表.txt
10
API列表.txt
@ -1742,7 +1742,7 @@ id可选,为同时绘制的图标ID,如果不为null则会同时绘制该图
|
|||||||
|
|
||||||
core.drawText(content, callback)
|
core.drawText(content, callback)
|
||||||
绘制一段文字。contents为一个字符串或一个字符串数组,callback为全部绘制完毕的回调。
|
绘制一段文字。contents为一个字符串或一个字符串数组,callback为全部绘制完毕的回调。
|
||||||
支持所有的文字效果(如\n,${},\r,\\i等),也支持\t和\b的语法。
|
支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。
|
||||||
如果当前在事件处理中或录像回放中,则会自动转成core.insertAction处理。
|
如果当前在事件处理中或录像回放中,则会自动转成core.insertAction处理。
|
||||||
不建议使用该函数,如有绘制文字的需求请尽量使用core.insertAction()插入剧情文本事件。
|
不建议使用该函数,如有绘制文字的需求请尽量使用core.insertAction()插入剧情文本事件。
|
||||||
|
|
||||||
@ -1767,7 +1767,7 @@ posInfo如果不为null则是一个含position, px和py的对象,表示一个
|
|||||||
core.drawTextContent(ctx, content, config)
|
core.drawTextContent(ctx, content, config)
|
||||||
根据配置在某个画布上绘制一段文字。此函数会被core.drawTextBox()所调用。
|
根据配置在某个画布上绘制一段文字。此函数会被core.drawTextBox()所调用。
|
||||||
ctx为画布名或画布本身,如果不设置则会忽略该函数。
|
ctx为画布名或画布本身,如果不设置则会忽略该函数。
|
||||||
content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i等),但不支持支持\t和\b的语法。
|
content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持支持\t和\b的语法。
|
||||||
config为绘制的配置项,目前可以包括如下几项:
|
config为绘制的配置项,目前可以包括如下几项:
|
||||||
- left, top:在该画布上绘制的左上角像素位置,不设置默认为(0,0)。
|
- left, top:在该画布上绘制的左上角像素位置,不设置默认为(0,0)。
|
||||||
> 该函数绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。
|
> 该函数绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。
|
||||||
@ -1782,7 +1782,7 @@ config为绘制的配置项,目前可以包括如下几项:
|
|||||||
|
|
||||||
core.drawTextBox(content, showAll)
|
core.drawTextBox(content, showAll)
|
||||||
绘制一个对话框。content为一个字符串或一个字符串数组。
|
绘制一个对话框。content为一个字符串或一个字符串数组。
|
||||||
支持所有的文字效果(如\n,${},\r,\\i等),也支持\t和\b的语法。
|
支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。
|
||||||
该函数将使用用户在剧情文本设置中的配置项进行绘制。
|
该函数将使用用户在剧情文本设置中的配置项进行绘制。
|
||||||
实际执行时,会计算文本框宽度并绘制背景,绘制标题和头像,再调用core.drawTextContent()绘制正文内容。
|
实际执行时,会计算文本框宽度并绘制背景,绘制标题和头像,再调用core.drawTextContent()绘制正文内容。
|
||||||
showAll可选,如果为true则不会使用打字机效果而全部显示,主要用于打字机效果的点击显示全部。
|
showAll可选,如果为true则不会使用打字机效果而全部显示,主要用于打字机效果的点击显示全部。
|
||||||
@ -1790,7 +1790,7 @@ showAll可选,如果为true则不会使用打字机效果而全部显示,主
|
|||||||
|
|
||||||
core.drawScrollText(content, time, lineHeight, callback)
|
core.drawScrollText(content, time, lineHeight, callback)
|
||||||
绘制一个滚动字幕。content为绘制内容,time为总时间(默认为5000),lineHeight为行距比例(默认为1.4)。
|
绘制一个滚动字幕。content为绘制内容,time为总时间(默认为5000),lineHeight为行距比例(默认为1.4)。
|
||||||
滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i等),但不支持\t和\b效果。
|
滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持\t和\b效果。
|
||||||
可以通过剧情文本设置中的align控制是否居中绘制,offset控制其距离左边的偏移量。
|
可以通过剧情文本设置中的align控制是否居中绘制,offset控制其距离左边的偏移量。
|
||||||
|
|
||||||
|
|
||||||
@ -1802,7 +1802,7 @@ core.textImage(content, lineHeight)
|
|||||||
|
|
||||||
core.drawChoices(content, choices)
|
core.drawChoices(content, choices)
|
||||||
绘制一个选项框。
|
绘制一个选项框。
|
||||||
content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i等),也支持\t效果。
|
content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t效果。
|
||||||
choices必选,为要绘制的选项内容,是一个列表。其中的每一项:
|
choices必选,为要绘制的选项内容,是一个列表。其中的每一项:
|
||||||
- 可以是一个字符串,表示选项文字,将使用剧情文本设置中的正文颜色来绘制,仅支持${}表达式计算。
|
- 可以是一个字符串,表示选项文字,将使用剧情文本设置中的正文颜色来绘制,仅支持${}表达式计算。
|
||||||
- 或者是一个包含text, color和icon的对象。
|
- 或者是一个包含text, color和icon的对象。
|
||||||
|
|||||||
11
_docs/api.md
11
_docs/api.md
@ -1721,7 +1721,7 @@ id可选,为同时绘制的图标ID,如果不为null则会同时绘制该图
|
|||||||
|
|
||||||
core.drawText(content, callback)
|
core.drawText(content, callback)
|
||||||
绘制一段文字。contents为一个字符串或一个字符串数组,callback为全部绘制完毕的回调。
|
绘制一段文字。contents为一个字符串或一个字符串数组,callback为全部绘制完毕的回调。
|
||||||
支持所有的文字效果(如\n,${},\r,\\i等),也支持\t和\b的语法。
|
支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。
|
||||||
如果当前在事件处理中或录像回放中,则会自动转成core.insertAction处理。
|
如果当前在事件处理中或录像回放中,则会自动转成core.insertAction处理。
|
||||||
不建议使用该函数,如有绘制文字的需求请尽量使用core.insertAction()插入剧情文本事件。
|
不建议使用该函数,如有绘制文字的需求请尽量使用core.insertAction()插入剧情文本事件。
|
||||||
|
|
||||||
@ -1746,7 +1746,8 @@ posInfo如果不为null则是一个含position, px和py的对象,表示一个
|
|||||||
core.drawTextContent(ctx, content, config)
|
core.drawTextContent(ctx, content, config)
|
||||||
根据配置在某个画布上绘制一段文字。此函数会被core.drawTextBox()所调用。
|
根据配置在某个画布上绘制一段文字。此函数会被core.drawTextBox()所调用。
|
||||||
ctx为画布名或画布本身,如果不设置则会忽略该函数。
|
ctx为画布名或画布本身,如果不设置则会忽略该函数。
|
||||||
content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i等),但不支持支持\t和\b的语法。
|
content为要绘制的文字内容,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等)
|
||||||
|
,但不支持支持\t和\b的语法。
|
||||||
config为绘制的配置项,目前可以包括如下几项:
|
config为绘制的配置项,目前可以包括如下几项:
|
||||||
- left, top:在该画布上绘制的左上角像素位置,不设置默认为(0,0)。
|
- left, top:在该画布上绘制的左上角像素位置,不设置默认为(0,0)。
|
||||||
> 该函数绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。
|
> 该函数绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。
|
||||||
@ -1761,7 +1762,7 @@ config为绘制的配置项,目前可以包括如下几项:
|
|||||||
|
|
||||||
core.drawTextBox(content, showAll)
|
core.drawTextBox(content, showAll)
|
||||||
绘制一个对话框。content为一个字符串或一个字符串数组。
|
绘制一个对话框。content为一个字符串或一个字符串数组。
|
||||||
支持所有的文字效果(如\n,${},\r,\\i等),也支持\t和\b的语法。
|
支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t和\b的语法。
|
||||||
该函数将使用用户在剧情文本设置中的配置项进行绘制。
|
该函数将使用用户在剧情文本设置中的配置项进行绘制。
|
||||||
实际执行时,会计算文本框宽度并绘制背景,绘制标题和头像,再调用core.drawTextContent()绘制正文内容。
|
实际执行时,会计算文本框宽度并绘制背景,绘制标题和头像,再调用core.drawTextContent()绘制正文内容。
|
||||||
showAll可选,如果为true则不会使用打字机效果而全部显示,主要用于打字机效果的点击显示全部。
|
showAll可选,如果为true则不会使用打字机效果而全部显示,主要用于打字机效果的点击显示全部。
|
||||||
@ -1769,7 +1770,7 @@ showAll可选,如果为true则不会使用打字机效果而全部显示,主
|
|||||||
|
|
||||||
core.drawScrollText(content, time, lineHeight, callback)
|
core.drawScrollText(content, time, lineHeight, callback)
|
||||||
绘制一个滚动字幕。content为绘制内容,time为总时间(默认为5000),lineHeight为行距比例(默认为1.4)。
|
绘制一个滚动字幕。content为绘制内容,time为总时间(默认为5000),lineHeight为行距比例(默认为1.4)。
|
||||||
滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i等),但不支持\t和\b效果。
|
滚动字幕将绘制在UI上,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持\t和\b效果。
|
||||||
可以通过剧情文本设置中的align控制是否居中绘制,offset控制其距离左边的偏移量。
|
可以通过剧情文本设置中的align控制是否居中绘制,offset控制其距离左边的偏移量。
|
||||||
|
|
||||||
|
|
||||||
@ -1781,7 +1782,7 @@ core.textImage(content, lineHeight)
|
|||||||
|
|
||||||
core.drawChoices(content, choices)
|
core.drawChoices(content, choices)
|
||||||
绘制一个选项框。
|
绘制一个选项框。
|
||||||
content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i等),也支持\t效果。
|
content可选,为选项上方的提示文字,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),也支持\t。
|
||||||
choices必选,为要绘制的选项内容,是一个列表。其中的每一项:
|
choices必选,为要绘制的选项内容,是一个列表。其中的每一项:
|
||||||
- 可以是一个字符串,表示选项文字,将使用剧情文本设置中的正文颜色来绘制,仅支持${}表达式计算。
|
- 可以是一个字符串,表示选项文字,将使用剧情文本设置中的正文颜色来绘制,仅支持${}表达式计算。
|
||||||
- 或者是一个包含text, color和icon的对象。
|
- 或者是一个包含text, color和icon的对象。
|
||||||
|
|||||||
@ -282,10 +282,13 @@ floorId指定的是目标楼层的唯一标识符(ID)。
|
|||||||
- 使用`${}`来计算一个表达式的值,如`${status:atk+status:def}`。
|
- 使用`${}`来计算一个表达式的值,如`${status:atk+status:def}`。
|
||||||
- 使用`\f[...]`来同时插入一张立绘图,如`\f[1.png,100,200]`。
|
- 使用`\f[...]`来同时插入一张立绘图,如`\f[1.png,100,200]`。
|
||||||
- 使用`\\i[...]`来在对话框中绘制一个图标,如`\\i[fly]`。
|
- 使用`\\i[...]`来在对话框中绘制一个图标,如`\\i[fly]`。
|
||||||
|
- 使用`\\c[...]`来修改字体大小,如`\\b[16]`。
|
||||||
|
- 使用`\\d`来加粗或者取消粗体。
|
||||||
|
- 使用`\\e`来加斜体或取消斜体。
|
||||||
|
|
||||||
从V2.5.2开始,也允许绘制一张头像图在对话框中,只要通过`\t[1.png]`或`\t[标题,1.png]`的写法。
|
从V2.5.2开始,也允许绘制一张头像图在对话框中,只要通过`\t[1.png]`或`\t[标题,1.png]`的写法。
|
||||||
|
|
||||||
**使用`\\i[...]`绘制图标请注意:在事件块中,允许只写一个反斜杠`\i`,系统会自动转义成`\\i`;但是在脚本中必须两个反斜杠都写上!**
|
**使用`\\i,\\c,\\d,\\e`时请注意:在事件块中,允许只写一个反斜杠`\`,系统会自动转义成`\\`;但是在脚本中必须两个反斜杠都写上!**
|
||||||
|
|
||||||
详细信息请参见[剧情文本控制](event#text:显示一段文字(剧情))中的说明。
|
详细信息请参见[剧情文本控制](event#text:显示一段文字(剧情))中的说明。
|
||||||
|
|
||||||
|
|||||||
@ -291,6 +291,18 @@
|
|||||||
|
|
||||||
!> 注意,在事件块中,允许只写一个反斜杠`\i`,系统会自动转义成`\\i`;但是在脚本中必须两个反斜杠都写上!
|
!> 注意,在事件块中,允许只写一个反斜杠`\i`,系统会自动转义成`\\i`;但是在脚本中必须两个反斜杠都写上!
|
||||||
|
|
||||||
|
从V2.6.3开始,也可以使用`\\c[...]`来切换当前字体,`\\d`来加粗或取消粗体,`\\e`来加斜体或取消斜体。
|
||||||
|
|
||||||
|
``` js
|
||||||
|
[
|
||||||
|
"这是原始字体,\\c[20]使用20号字体,\\c[10]使用10号字体",
|
||||||
|
"\\c如果不加中括号则切换回原始字体。",
|
||||||
|
"\\d这是粗体\\d取消粗体,\\e加斜体\\e取消斜体"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
!> 注意,在事件块中,允许只写一个反斜杠`\c`,系统会自动转义成`\\c`;但是在脚本中必须两个反斜杠都写上!`\d`和`\e`同理。
|
||||||
|
|
||||||
另外值得一提的是,我们是可以在文字中计算一个表达式的值的。只需要将表达式用 `${ }`整个括起来就可以。
|
另外值得一提的是,我们是可以在文字中计算一个表达式的值的。只需要将表达式用 `${ }`整个括起来就可以。
|
||||||
|
|
||||||
``` js
|
``` js
|
||||||
@ -2001,7 +2013,7 @@ UI绘制事件。
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
text必填,为要绘制的文本,支持所有的文字效果(如\n,${},\r,\\i等),但不支持支持\t和\b的语法。
|
text必填,为要绘制的文本,支持所有的文字效果(如\n,${},\r,\\i,\\c,\\d,\\e等),但不支持支持\t和\b的语法。
|
||||||
|
|
||||||
left和top必填,为要绘制的起始像素坐标。实际绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。
|
left和top必填,为要绘制的起始像素坐标。实际绘制时会将textBaseline设置为'top',因此只需要考虑第一个字的左上角位置。
|
||||||
|
|
||||||
|
|||||||
@ -389,7 +389,7 @@ function omitedcheckUpdateFunction(event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
var code = Blockly.JavaScript.workspaceToCode(workspace).replace(/\\\\i/g, '\\\\\\\\i');
|
var code = Blockly.JavaScript.workspaceToCode(workspace).replace(/\\\\(i|c|d|e)/g, '\\\\\\\\$1');
|
||||||
codeAreaHL.setValue(code);
|
codeAreaHL.setValue(code);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
codeAreaHL.setValue(String(error));
|
codeAreaHL.setValue(String(error));
|
||||||
@ -532,8 +532,7 @@ function omitedcheckUpdateFunction(event) {
|
|||||||
MotaActionFunctions.parse(
|
MotaActionFunctions.parse(
|
||||||
eval('obj=' + codeAreaHL.getValue().replace(/[<>&]/g, function (c) {
|
eval('obj=' + codeAreaHL.getValue().replace(/[<>&]/g, function (c) {
|
||||||
return {'<': '<', '>': '>', '&': '&'}[c];
|
return {'<': '<', '>': '>', '&': '&'}[c];
|
||||||
}).replace(/\\r/g, '\\\\r').replace(/\\f/g, '\\\\f')
|
}).replace(/\\(r|f|i|c|d|e)/g,'\\\\$1')),
|
||||||
.replace(/\\i/,'\\\\i')),
|
|
||||||
document.getElementById('entryType').value
|
document.getElementById('entryType').value
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -607,7 +606,7 @@ function omitedcheckUpdateFunction(event) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var code = Blockly.JavaScript.workspaceToCode(editor_blockly.workspace);
|
var code = Blockly.JavaScript.workspaceToCode(editor_blockly.workspace);
|
||||||
code = code.replace(/\\i/g, '\\\\i');
|
code = code.replace(/\\(i|c|d|e)/g, '\\\\$1');
|
||||||
eval('var obj=' + code);
|
eval('var obj=' + code);
|
||||||
setvalue(JSON.stringify(obj));
|
setvalue(JSON.stringify(obj));
|
||||||
}
|
}
|
||||||
@ -621,7 +620,7 @@ function omitedcheckUpdateFunction(event) {
|
|||||||
];
|
];
|
||||||
if (b && types.indexOf(b.type)>=0) {
|
if (b && types.indexOf(b.type)>=0) {
|
||||||
try {
|
try {
|
||||||
var code = "[" + Blockly.JavaScript.blockToCode(b).replace(/\\i/g, '\\\\i') + "]";
|
var code = "[" + Blockly.JavaScript.blockToCode(b).replace(/\\(i|c|d|e)/g, '\\\\$1') + "]";
|
||||||
eval("var obj="+code);
|
eval("var obj="+code);
|
||||||
// console.log(obj);
|
// console.log(obj);
|
||||||
if (obj.length > 0 && b.type.startsWith(obj[0].type)) {
|
if (obj.length > 0 && b.type.startsWith(obj[0].type)) {
|
||||||
|
|||||||
@ -856,7 +856,7 @@ ui.prototype._buildFont = function (fontSize, bold, italic) {
|
|||||||
|
|
||||||
////// 绘制一段文字到某个画布上面
|
////// 绘制一段文字到某个画布上面
|
||||||
// ctx:要绘制到的画布
|
// ctx:要绘制到的画布
|
||||||
// content:要绘制的内容;转义字符目前只允许留 \n, \r[...] 和 \i[...]
|
// content:要绘制的内容;转义字符目前只允许留 \n, \r[...], \i[...], \c[...], \d, \e
|
||||||
// config:绘制配置项,目前暂时包含如下内容(均为可选)
|
// config:绘制配置项,目前暂时包含如下内容(均为可选)
|
||||||
// left, top:起始点位置;maxWidth:单行最大宽度;color:默认颜色;align:左中右
|
// left, top:起始点位置;maxWidth:单行最大宽度;color:默认颜色;align:左中右
|
||||||
// fontSize:字体大小;lineHeight:行高;time:打字机间隔
|
// fontSize:字体大小;lineHeight:行高;time:打字机间隔
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user