【问题描述】
当Unity的Text组件的Horizontal Overflow属性为Wrap时,其中文字会根据文本框宽度自动换行。
当一行所剩长度不足以显示最后一个单词时,该单词会被整体挪到下一行显示。
当中英文混排时,中文会整体被视为一个英文单词,过长,导致异常换行。
【解决方式】
将“换行空格”替换为“不换行空格”
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MultiText : MonoBehaviour {
Text text;
void Awake()
{
text = this.GetComponent<Text>();
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (text.text.Contains(" "))
{
text.text = text.text.Replace(" ", "\u00A0");
}
}
}