[0]getCharPoint的bug
laya.core.js的getCharPoint这个函数里,有这样一句话:len += lines[i].length;
请将其改成:len += lines[i].length + 1;
显然开发者没在多行的情况下测试这个函数,换行这种事肯定是末尾有个换行符才会换的嘛!
上面的length没考虑换行符,但下面又有句这样的代码:this._text.substring(startIndex, charIndex)
其中this._text却是有换行符的字符串,这样返回的结果就不对了
我建议的改动很可能不是最佳的,毕竟对牵连的东西了解太少了,目前所知的一个副作用是,每行显示的文字数量会多出一个来
请将其改成:len += lines[i].length + 1;
显然开发者没在多行的情况下测试这个函数,换行这种事肯定是末尾有个换行符才会换的嘛!
上面的length没考虑换行符,但下面又有句这样的代码:this._text.substring(startIndex, charIndex)
其中this._text却是有换行符的字符串,这样返回的结果就不对了
我建议的改动很可能不是最佳的,毕竟对牵连的东西了解太少了,目前所知的一个副作用是,每行显示的文字数量会多出一个来
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
Laya_z
赞同来自:
187*****170
赞同来自:
最新改成了,取消加1,而是在下面添这几句:
const lastChar = this._text[len];
if ('\n' === lastChar || '\r' === lastChar)
++len;
别看就这么点东西,中间折腾好几次,费了我可能有两个钟头,这函数用的思路真是不习惯
this._lines和this._text两套数据,可谓空间上纠缠在了一块,还用var,可谓时间上纠缠在了一块
绝了