做新手引导自己写了个打字机效果,如图第一行最后一段会出现跳行,这怎么处理?求大佬们给个思路。
![截屏2022-02-15 下午5.27.18](https://forum.cocos.org/uploads/default/original/3X/c/9/c918f8475fe584b5622f4a01751d0ba0747b7c68.png)
文本的overflow设置的clamp模式
用中文就没问题了
是有特么那么点道理,但是。。。。对吧
貌似是默认是一个单词,这个情况一直都有得,你经常逛论坛,不应该啊
非要用英文的话 就得在每个要换行的地方提前换很麻烦
我知道是默认一个单词,想看看能不能处理这玩意。比如怎么提前换行好?或者其他怎么处理一下的那种
能给个思路么。。。。?
自己换行不可吗 let str = “acbd\nefgh\n”;这样
let str = “are you\n ok?”
比如you后面如果不换行可能会出这个问题 你就在you这里换行
然后把这个字符串丢到你的打字机方法里就行
这个思路只针对字体大小不变 文字内容不变才有效果 你的新手引导应该符合这个情况
是的,如果是用给定字体的话就可以,但是每句话都得单独调配置,确实麻烦
根据打印范围和字符计算长度,得出一行得文字长度,然后生成多个labe处理应该也能用
但是这个是引擎做的处理 你也不好智能判断 这样粗暴是最省事的
算了,我决定用shader来处理了,我记得论坛里有方案,反正这里始终会增加1次dc,换成shader方案应该没啥负担
你可以用连字符(就是减号)把一个单词拆成两个,然后在需要换行的地方加一个连字符就可以完美换行了
文字一开始全部显示,上层用其他节点做遮挡,逐字符移动
你这样也需要改配置表。。。
我懒,论坛里没找到就自己写了个shader,明天调调再发出来
多行就难弄了
既然是因为默认为一个单词,那换行的时候加一个空格符行不行,这样就不会被判断为一个单词了吧。。