小语种(如泰语、越南语)Label如何强制按空格换行?

部分小语种,例如 泰语,越南语

使用Label时,按照单字来自动换行了

实际根据语法,是需要按空格来自动换行的

请问有没有什么设置项,可以强制按空格自动换行的?

@jare @panda

自已做个取代不行吗?
text = text.replace( / /g, '\n' )'

不是每个空格都换行呀,是宽度超了才需要换行。

顶一下,也遇到了同样的问题,目前我们是手动在需要换行的位置加\n

拿2.4.3引擎举例
刚好遇到此问题,读完了cocos的源码后发现是对于拉丁文(可能是吧)的举例不足,先上源码:

源码地址:/Contents/Resources/engine/cocos2d/core/utils/text-utils.js

然后补充完整的越南地区使用的更多的拉丁文,修改如下(未排重引擎已使用的拉丁文,主要看不懂,怕删错了,反正不太影响性能):

在游戏初始化后修改一下cc.text-utils下的字段,就能搞定这个问题

cc.textUtils.label_lastEnglish = /[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹế]+$/;
cc.textUtils.label_firstEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹế]/;

搞定这一步,基本上搞定99%的问题了。
另外当前游戏未发布泰文语种,不过逻辑应该差不多的,楼主可以自己试一下。

另:出问题了先看源码,源码只要写的出来,就肯定能改,也肯定有解决方法!

1赞

请问这个高棉语要怎么改呀,有没有哪里可以看参考啊,这些字段都不知道哪有对应的