screen模块¶
状态 | 最后更新 | API版本 |
---|---|---|
Active | 2020-1-7 | V1.00.00 |
描述¶
这个模块提供对屏幕及一些UI控件的访问。
MainUI¶
MainUI是一般用户使用表头的地方,一般情况下,表头界面上的所有操作都是由MainUI完成的。当您调用screen.open()时,MainUI进程被挂起,您可能会遇到一些诸如MainUI在screen.close()后没有自动重新渲染,或者在screen.open()后仍有MainUI的控件残留的情况。您可以很容易避免这些问题,这些问题可能会在未来的结构性优化里解决。
THEME_COLOR¶
THEME_COLOR
是用户设定的主题色。
刷新实现¶
为了避免出现用户可察觉的刷新感,表头实现一个GRAM。
当显示内容发生过更改(如,画一个矩形,显示字符串),且GRAM不再更改时,后台一个进程会将GRAM送到屏幕中完成刷新。
如果您希望在更改后立刻刷新屏幕,请调用screen.forceUpdate()
函数。
color¶
表头实现一个有限颜色的GRAM,您不能选择任意颜色显示,这里是当前的调色板:
颜色 | Note |
---|---|
color.red | |
color.blue | |
color.green | |
color.cyan | |
color.black | |
color.white | |
color.purple | |
color.orange | |
color.grey | |
color.yellow | |
color.lightGreen | |
color.lightRed | |
color.lightYellow | |
color.lightBlue | |
color.lightPurple | |
color.dimGray | |
color.transparent | 常作为背景色使用 |
font¶
表头有几种字库,其中有的是部分字库,有的是全字库:
字体 | Note |
---|---|
font.f1616 | 16*16字体, ASCII字符为半宽。 这包含了常用汉字及日文汉字与假名(请使用UTF-8编码)。 |
font.f1212 | 12*12字体, ASCII字符为半宽。 这包含了常用汉字及日文汉字与假名(请使用UTF-8编码)。 |
font.f0508 | 5*8字体, 仅包含ASCII字符。 |
font.f1424 | 14*24字体, 只有数字和部分字母有包含 (通常用于显示读数)。 |
font.f2030 | 20*30字体, 字体, 只有数字和部分字母有包含 (通常用于显示读数)。 |
screen.drawPoint()¶
描述¶
在指定位置画指定颜色的点。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<x> | number | 0-159 | 指定x位置 |
<y> | number | 0-127 | 指定y位置 |
[color] | color | 可选参数,指定颜色,如果不存在 , 颜色为THEME_COLOR |
返回值¶
nil
调用例¶
screen.drawPoint(0,0,color.white)
screen.drawRect()¶
描述¶
在指定位置画指定颜色的矩形。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<x1> | number | 0~159 | 指定第一个点的x坐标 |
<y1> | number | 0~127 | 指定第一个点的y坐标 |
<x2> | number | x1 ~159 |
指定第二个点的x坐标 |
<y2> | number | y1 ~159 |
指定第二个点的y坐标 |
[color] | color | 可选参数,指定颜色,如果不存在,颜色为 THEME_COLOR |
返回值¶
nil
调用例¶
screen.drawRect(0,0,159,127,color.white)
screen.fillRect()¶
描述¶
在指定位置填充指定颜色的矩形。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<x1> | number | 0~159 | 指定第一个点的x坐标 |
<y1> | number | 0~127 | 指定第一个点的y坐标 |
<x2> | number | x1 ~159 |
指定第二个点的x坐标 |
<y2> | number | y1 ~159 |
指定第二个点的y坐标 |
[color] | color | 可选参数,指定颜色,如果不存在,颜色为 THEME_COLOR |
返回值¶
nil
调用例¶
screen.fillRect(0,0,159,127,color.white)
screen.showString()¶
描述¶
在指定位置以指定颜色显示字符串。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<x1> | number | 0~159 | 指定x起始坐标 |
<y1> | number | 0~127 | 指定y起始坐标 |
<string> | string | 要显示的字符串 | |
<font> | font | 指定字体 | |
[foreground_color] | color | 可选参数,指定前景色,若不存在, 前景色为 THEME_COLOR |
|
[background_color] | color | 可选参数,指定背景色,若不存在, 背景色为 THEME_BACK_COLOR |
|
[inverted] | boolean | 可选参数,指定是否反转显示(即,前景色背景色互换),若不存在,默认不反转 |
返回值¶
nil
调用例¶
screen.showString(0,0,"Hello World",font.f1616)
screen.printInBox()¶
描述¶
在一个矩形区域显示字符串。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<x1> | number | 0~159 | 指定范围第一个点的x坐标 |
<y1> | number | 0~127 | 指定范围第一个点的y坐标 |
<x2> | number | x1 ~159 |
指定范围第二个点的x坐标 |
<y2> | number | y1 ~159 |
指定范围第二个点的y坐标 |
<string> | string | 要显示的字符串 | |
<font> | font | 要使用的字体 | |
[foreground_color] | color | 可选参数,指定前景色,若不存在, 前景色为 THEME_COLOR |
|
[background_color] | color | 可选参数,指定背景色,若不存在, 背景色为 THEME_BACK_COLOR |
|
[inverted] | boolean | 可选参数,指定是否反转显示(即,前景色背景色互换),若不存在,默认不反转 |
返回值¶
nil
调用例¶
screen.printInBox(0,0,159,127,"This is a text box. A happy text box, A very happy text box.",font.f1616)
screen.showDialogue()¶
描述¶
画一个没有按钮的对话框。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<title> | string | 指定标题 | |
[content] | string | 可选参数,指定内容,如果不存在,则不显示内容 | |
[block_time] | number | 可选参数, 指定阻塞时间(ms),如果阻塞时间为0,则函数调用后立刻返回,默认为0(立刻返回) | |
[titleCentered] | boolean | 可选参数, 设置标题是否剧中,默认为不居中 | |
[color] | color | 可选参数, 指定对话框的颜色,如果不存在,颜色为 THEME_COLOR |
返回值¶
nil
调用例¶
screen.showDialogue("This is title","This is content",1000,true,color.yellow)
screen.popHint()¶
描述¶
弹出一个提示框。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<content> | string | 指定内容。 | |
[block_time] | number | 可选参数, 指定显示时间(ms),若为0,则函数立刻返回,若不为0,等待指定时间后返回,默认立刻返回。 | |
[color] | color | 可选参数,指定提示框的颜色,如果不存在,颜色为 THEME_COLOR |
返回值¶
nil
调用例¶
screen.popHint("Hint Box",1000)
screen.popYesOrNo()¶
描述¶
弹出确认框。
参数¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<content> | string | 提问字符串 | |
[color] | color | 可选参数。 指定对话框的颜色, 如果不存在,颜色为 THEME_COLOR |
|
[completecallback] | function | 可选参数。 指定确认框完成后的回调函数,结果为回调函数调用时的第一个参数。如果不指定,则函数在用户选择后才返回 |
返回值¶
名称 | 类型 | 范围 | 用途 |
---|---|---|---|
<result> | boolean | 结果, true 为确认, false 为取消。 如果指定了回调函数,返回值无意义 |
调用例¶
if(screen.popYesOrNo("Do you want to fire the boss?")) then
FireTheBoss();
end