【发布时间】:2021-02-10 09:37:51
【问题描述】:
我想从 .txt 文件中获取一个可以使用字典索引 (lineDict["00000001"]) 调用的字符串。我在 Start 函数中创建了该部分,它可以从 txt 文件(StreamReader)调用字符串并将值赋给 Dictionary 罚款。 但是我不能从更新函数中调用那个字典。我尝试为第一部分创建一个新类,没有任何改变。 lineDict 调试好,但仍然不能从不同的地方调用。 (当前上下文中不存在名称“lineDict”)。
这是我一直坚持的代码。
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEngine.UI;
public class HandleTextFIle : MonoBehaviour
{
public Text m_MyText;
public Button YesButton;
public Button NoButton;
public void Start()
{
StreamReader inp_stm = new StreamReader("Assets/Resource/Roxxy.txt");
string line;
Dictionary<string, string> lineDict = new Dictionary<string, string>();
while ((line = inp_stm.ReadLine()) != null)
{
string indexToAdd = line.Substring(0, 8);
//Debug.Log("index to add: " + indexToAdd);
string lineToAdd = line.Substring(9);
//Debug.Log("line to add: " + lineToAdd);
lineDict.Add(indexToAdd, lineToAdd);
}
inp_stm.Close();
//Debug.Log("Dict return : " + lineDict["00000000"]);
}
public void Update()
{
m_MyText.text = lineDict["00000000"];
if (Input.GetButton("YesButton") == true)
{
m_MyText.text = lineDict["00000001"];
}
else if (Input.GetButton("NoButton") == true)
{
m_MyText.text = lineDict["00000002"];
}
}
}
它调用的txt文件中的字符串只是
00000000 >AWAITING INPUT
00000001 >Do you hear me?
00000002 >INPUT RECEIVED
也许我错过了一些基本的东西。我不知道。请发送帮助或仅指出我错过的明显内容。提前致谢。
【问题讨论】:
标签: unity3d