在editbox设置文本的尺寸和描点之后,每次重新加载之后,文本格式都会被重置(BACKGROUND_SPRITE)。看了了下源代码,感觉有点问题。
如果节点之下有TEXT_LABEL节点,为什么也要重新设置描点?
在editbox设置文本的尺寸和描点之后,每次重新加载之后,文本格式都会被重置(BACKGROUND_SPRITE)。看了了下源代码,感觉有点问题。
这个应该没错吧
但是这样就无法设置文本的描点以及尺寸大小。从功能上上看,文本格式已经有设置,不应该再被重置吧。
你说的重新加载是指重新加载场景么?
我就直接说需求吧,目前引擎的editbox输入的文字都是自左对齐,这样看起来很不舒服,希望的结果是文字居中,包括输入的时候。在编辑器编辑好TEXT_LABEL样式之后,重新加载这个预制文件,就会被重置成描点为(0,1),尺寸大小为editbox节点大小。为了解决这个问题,稍微修改了下上述的部分代码,但是不知道引擎这个设计的出发点在哪里,怕修改可能会导致新问题,所以在论坛提一下。
这个可能是历史遗留问题了,不过之前可能是出于多行输入的考虑,默认强制 textLabel 的锚点为 (0, 1) 了
楼主去掉这个限制应该是没问题的,
不过这个应该不影响
文本需要水平居中对齐的话,改 TEXT_LABEL 的 HorizontalAlign 属性就好了
多行输入,不建议设置垂直居中
试过,达不到效果。
解决掉了,通过修改文本的样式处理掉了。
就加了一行。
//修改editbox的样式
eb._impl._edTxt.style.textAlign = ‘center’;
建议引擎方修改下开放此属性。因为输入内容居中,靠左,靠右的需求应该是有的吧。
2.1.1 已经支持
可以尝试一下