Gho*_*ool 5 c# unity-game-engine
我可以UILabel用以下内容更改(命名为about)的文本:
using UnityEngine;
using System.Collections;
public class about : MonoBehaviour
{
void Start ()
{
UILabel lbl = GetComponent<UILabel>();
lbl.text = "Hello World!";
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我想从resources(Assets/Resources/about.txt)中的文本文件加载标签文本时出现问题
lbl.text = Resources.Load(Application.dataPath + "/Resources/about") as String
Run Code Online (Sandbox Code Playgroud)
所以我不确定我哪里出错了,是的,我看过这里.
小智 9
只需使用:
TextAsset mytxtData=(TextAsset)Resources.Load("MyText");
string txt=mytxtData.text;
Run Code Online (Sandbox Code Playgroud)
你可以使用txt字符串来满足你的要求,只要确保它MyText.txt在Assets > Resources
你试过其中一个:
TextAsset mydata = Resources.Load("MyTexts/text", typeof(TextAsset));
TextAsset mydata = Resources.Load("MyTexts/text") as TextAsset;
Run Code Online (Sandbox Code Playgroud)
这里"MyTexts/text"是资产名称,它将实际引用该文件text.txt.
资产应该以这种方式放在Assets文件夹中:
Assets/MyTexts/text
Run Code Online (Sandbox Code Playgroud)
在文件系统上,您将拥有:
.../Assets/MyTexts/text.txt
Run Code Online (Sandbox Code Playgroud)
不要使用Application.dataPath或类似的东西,你从二进制资产文件加载静态链接的资产.
加载的mydata是二进制.用于Encoding.ASCII.GetString(mydata.bytes)从中获取实际字符串.
| 归档时间: |
|
| 查看次数: |
28654 次 |
| 最近记录: |