假如在Text组件中,你需要将文本换行显示。如果你是初学者,你会发现有的时候\n管用,有的时候\n又不管用了。细心的你可能会发现。能显示正常的时候,一般是将字符串写在代码里面,然后给组件赋值;而显示异常的时候,一般是通过加载文件,获取文件中的文本,然后给组件赋值。
你将测试文本写在代码中,然后给Text组件赋值,显示正常。
string _testStr = "AAAAA\nBBBBB";
_tempText.text = _testStr;
假如你将测试文本放在文件中,用加载文件读取数据,然后给Text组件赋值,你会发现显示的结果为:AAAAA\nBBBBB
TextAsset _testAsset = Resources.Load<TextAsset>("Config/Test");
string _testStr = _testAsset.text;
_tempText.text = _testStr;
这个时候你打断点发现,加载出来的_testAsset.text,实际值为:AAAAA\\nBBBBB
Text组件中,换行的转义字符为\n,不是/n或\\n,而加载出来的文本,会将\n转换为\\n。所以将\\n替换掉即可。
TextAsset _testAsset = Resources.Load<TextAsset>("Config/Test");
string _testStr = _testAsset.text;
_tempText.text = _testStr.Replace("\\n", "\n");