首页 > 解决方案 > 通过从 txt 文件中引用游戏对象的名称来启用游戏对象

问题描述

因此,我尝试通过将字符串写入 txt 文件来保存游戏状态(启用了哪个游戏对象)。是的,这行得通,现在我想从那个 txt 文件中加载它。

我尝试启用游戏对象并从 txt 文件中引用,但它不起作用。(当前上下文中不存在名称“LoadGameObject”)

   public string Data;


public void LoadData()
{
    StreamReader LoadWriter = new StreamReader("Assets/SaveData/Savefile.txt");
    //LoadWriter.ReadLine();
    //Data = File.ReadAllText("Assets/SaveData/Savefile.txt");
    Data = LoadWriter.ReadLine();
    print(Data);
    GameObject.Find("Level").transform.Find(Data);
    GameObject.SetActive(true);

}

我希望启用从文件中读取的游戏对象。

标签: c#unity3d

解决方案


GameObject 是一个类,你可以创建一个 GameObject 类型的变量(在这个例子中,它被称为 temp)。尝试这个:

public string Data;

public void LoadData()
{
    StreamReader LoadWriter = new StreamReader("Assets/SaveData/Savefile.txt");
    //LoadWriter.ReadLine();
    //Data = File.ReadAllText("Assets/SaveData/Savefile.txt");
    Data = LoadWriter.ReadLine();
    print(Data);
    GameObject temp = GameObject.Find("Level").transform.Find(Data).gameObject;
    temp.SetActive(true);
}

编辑:添加.gameObject到 temp 的声明中


推荐阅读