我可以使用以下内容更改UILabel
(名为about)的文本:
using UnityEngine;
using System.Collections;
public class about : MonoBehaviour
{
void Start ()
{
UILabel lbl = GetComponent<UILabel>();
lbl.text = "Hello World!";
}
}
但是当我想从资源(Assets/Resources/about.txt
)
lbl.text = Resources.Load(Application.dataPath + "/Resources/about") as String
所以我不确定我哪里出错了,是的,我看了here。
答案 0 :(得分:8)
只需使用:
TextAsset mytxtData=(TextAsset)Resources.Load("MyText");
string txt=mytxtData.text;
您可以使用txt
字符串来满足您的要求,只需确保MyText.txt
位于Assets > Resource
答案 1 :(得分:7)
你试过其中一个:
TextAsset mydata = Resources.Load("MyTexts/text", typeof(TextAsset));
TextAsset mydata = Resources.Load("MyTexts/text") as TextAsset;
此处,"MyTexts/text"
是资产名称,实际上会引用文件text.txt
。
资产应该以这种方式放在Assets文件夹中:
Assets/MyTexts/text
在文件系统上,您将拥有:
.../Assets/MyTexts/text.txt
不要使用Application.dataPath
或类似的东西,而是从二进制资产文件中加载静态链接资产。
加载的mydata
是二进制的。使用Encoding.ASCII.GetString(mydata.bytes)
从中获取实际字符串。
答案 2 :(得分:0)
var loaded_text_file = Resources.Load("mytexts/myfiletextname") as TextAsset;
string txt = loaded_text_file.text;