跳到主要内容
版本:1.10.20_build_2025.6.17.9.11

文本输入

文本输入控件实现动态编辑的文本功能。用户使用寄存器通过字符串变量控制文本输入控件,动态显示相应文本信息。

注意:使用字符串变量需要提前确定工程的编码规则,用户可在个人空间的工程选项中选择。只有绑定的变量类型是字符串,才能正常显示输入内容。

点击“编辑”菜单中“添加控件”按钮,在下拉的控件列表中点击“文本输入”。

界面右上角会弹出“添加widget成功”消息,在"编辑区"可以看到新添加的文本输入控件。选中文本输入控件,可以在“属性”栏对其进行编辑。

名称、ID、坐标、宽度、高度、阻断触摸、变换、纹理压缩模式、可替换升级、纹理为通用属性,在“基础设计——编辑属性”部分进行了统一介绍,这里不再赘述。

行距——在多行模式下,每行之间的距离。

模式——下拉选项可以设置单行和多行,默认单行。多行模式下自动换行,超出控件范围的不显示。

垂直方向对齐方式——“模式”选择“多行”后才会显示该选项,有“上对齐”、“居中”、“下对齐”可选。

文字方向——默认“从左向右”,少数外文需要选择“从右向左”;

例1: 用户在新建工程时设置了编码规则为“UTF-8”,添加新变量“wenben”,该变量变量类型需设置为“字符串”,设置字符串编码长度为8(即最多显示2个中文字符或者8个英文字母或者8个数字,溢出不显示),注意字符串编码长度需根据需要做的最长文本去设定,如果最长中文文本是10个文字,那么设为40即可,该值越大占用的存储越大; 勾选启用寄存器,再将“wenben”变量与文本输入控件绑定。在调试运行界面,在寄存器值中输入待显示文本,可实现显示功能。

滚动显示——默认“不滚动”,选择“滚动”后会增加相关属性,其中,默认滚动中有两个选项,“强制滚动”即无论文本多长都会滚动,“溢出滚动”即文本过长,溢出文本框时才会开启滚动;其他的功能属性与文本控件中描述的“滚动”功能一致,可参考文本控件中相关介绍。

字符范围——为减少存储占用,IDE增加了“字符范围”设置功能,用户可根据需要显示的文本(语言文字类型)去设置字符段(加字符段就是进一步限制UTF-8纹理数量,让它仅显示字符段中的字符),这里的字符段为国标码Unicode,例如字符“·”的国标码Unicode为“B7”,那么IDE字符段设为“0x00b7”即可显示字符“·”;

工程编码格式设为“UTF-8”(默认只支持“CJK统一表意符号”)或者“GB2312”时,可以在字体属性中设置字符范围,字符范围设置好后,在控件的字符范围属性中才能进行选择。

例2:工程编码格式设为“UTF-8”

1.工程中的文本输入控件没有选定“字符范围”或者“字符段”为空时;

UTF-8默认产生约20000个纹理

此时生成的“Texture.acf”文件大小为3.6MB

2.工程中的文本输入控件选定了“字符范围”且“字符段”设置为 “GB2312对应汉字范围” 时;

此时UTF-8限定产生约6000个纹理

此时生成的“Texture.acf”文件大小为1.335MB

3.工程中的文本输入控件选定了“字符范围”且“字符段”设置为 “GB2312对应汉字范围”+“希伯来文”+“阿拉伯文” 时;

此时生成的“Texture.acf”文件大小为1.353MB


文本输入控件在“字符集”使用方面的优化建议

1.工程中所有的文本输入控件最好统一使用一两种字体样式,用的字体样式多了flash占用也多。

2.文本输入控件绑定的字体样式中,字号越大对flash占用越大,所以应尽量减小该控件绑定字体样式的字号;同时还可以使用“属性”——“变换”——“缩放X,缩放Y”功能将显示字体放大(注意放大比例值[值1为100%]不能设置太大,否则显示效果会比较模糊)。

3.“透明度等级”对flash占用的影响相比于前两项较小,推荐使用默认的“跟随系统”选项(默认是“4”),如果强制设置透明度等级,等级越低,对flash占用越小,但是字体显示越模糊。

滚动显示——“歌词滚动”,用于模拟歌词滚动的应用场景,注意只有在单行模式时才能在“滚动显示”中选择“歌词滚动”。

以下是制作歌词滚动的示例:

1.工程编码格式建议选择UTF-8;

2.在变量中设置一个变量用于显示歌词,注意选择字符串类型。

3.添加一个“文本输入”控件,ID设为1,字体颜色模式选择“正常”,模式选择“单行”,滚动显示选择“歌词滚动”,设置一个持续时间(可设任意值,这个值后面可以通过指令修改),时间曲线建议选择“line”,纹理设置中设一个歌词的底色(只能设置色值,不能插图片),将该控件与刚刚创建的变量“歌词”绑定。

4.在变量中创建一个“歌词持续时间”变量和“歌词清零”变量。

5.添加一个触发器控件,绑定“歌词持续时间”变量,其action中触发条件设为“Tag改变”,添加 “setTextShowProgress”指令和“setTextScrollDuration”指令,其中setTextShowProgress为根据歌词实际字符长度设置文本输入控件显示的进度,操作数1选择文本输入控件的ID号1;操作数2的值设置范围0至100,选择0时显示“文本输入”控件的文本框背景,选择100为100%显示歌词。setTextScrollDuration为设置歌词滚动的持续时长,设置该指令的操作数2时注意先勾选“启用变量”然后再选择“歌词持续时间”变量。

6.再次添加一个触发器控件,绑定“歌词清零”变量,用setStr指令将歌词清空。

7.进入仿真查看效果:

8.示例工程链接:

名称:歌词滚动 (分辨率:800*480)

路径:https://test.graphichina.com/project/685213016721b549e5e20c0f/editor?ideVersion=1.10.20#

只读密码:9801


新版本IDE(1.10.20版)中增加了“字体颜色图片”与“字体颜色模式”功能,具体使用方法与显示效果参考图层控件中相关介绍。