如何将输入框设为不限制字符长度

实在有此需求那就分段来编辑,跟编程一样,也没有人将所有逻辑都写在一个函数里吧?一旦你这输入框哪里异常了输入文本都丢失了,你的策划岂不是要来搞你人?

最后改为在txt里存数据了,读文件进行处理,不走cocos相关的东西

密文,没法分开的。我是程序,要实现功能的。不能一个劲要求改需求啊。。。

策划不都是用的excel表嘛?然后弄个表转json就是了,要加密就再加次密完事

我是来问技术问题的,不是来讨论需求合理性的啊 :sweat_smile:

不合理的需求本就没必要存在,不是说输入框输入这么多字本身没必要,而是中途一旦出点问题,上万字直接GG,锅还不是在你

为啥要出问题

有被一二楼笑到~

看别人问技术问题第一时间就是嘲讽和秀优越,论坛风气怎么这样 :thinking:

首先不要这么自信的觉得一定不会出问题,其次,你观察过ccc网页下对输入框的机制么,其实是html的input控件重叠在画布上让你输入,输入完了再转回label,这个转换过程我猜引擎组没预料到极端的长度问题,当然这只是猜测,毕竟我没没遇到过要输入上万字的需求。

大批量文本输入,其实的确可以考虑HTML端的富文本编辑器,毕竟是非常成熟的东西了。

算了,这是一个技术问题,相信楼主的技术自己可以解决

除了楼主的存文件方法,其实也可以直接用cocos的编辑框,只需要将输入内容放在缓存中,然后动态更新编辑框内的可视区域文本就行了,只需要监听滑动,然后进行更新编辑框文本操作即可,这只是一种思路,楼主可以自行验证

上万字的文本滑动,用CHAR不行,BITMAP更不可能,渲染性能绝对是大问题。

你还没有理解我的意思

理解了,但是就是因为滑动,需要动态更新label,这样更需要更多的渲染不是吗? 最好每一帧都判断。哪一些可视,哪一些不可视,

你还没有发现listview和这个很像吗?那listview也需要每帧更新吗?最简单的坐标判断不可?

这是建立在坐标知道的情况
一个几万的文本,标点符号,英文,中文,换行等等,这些字符的宽度,行高都不一样。还会跟着字号变。
这个怎么解决?

cocos的label性能其实很差,我瞬间给label加一个500字不到的文本,在一些高端机都能卡几秒,低端机更不用说了,至少10秒起步。

字符的宽度是可以计算出来的,比如标点符号占用宽度都是正常字符的一半,至于行高没有你说的不一致,除非你是用多个不同属性的label拼接,性能这个我没试过,但是如果几百字以间隔1~2秒更新一次不卡顿就没问题

你试试在行末加一个逗号,然后再更改一下行宽(就是label的width),这个还真的不是一半。