C# 要实例化的对象为null
我试图使用位于我的资源文件夹中的文本文件中的名称从资源文件夹实例化一个预置。预置也位于“我的资源”文件夹中。但是,我得到一个错误,说“我想要实例化的对象为null” 当我直接给出预制件的名称时,它就起作用了。我似乎无法理解这个问题 我的代码是:C# 要实例化的对象为null,c#,unity3d,unity5,C#,Unity3d,Unity5,我试图使用位于我的资源文件夹中的文本文件中的名称从资源文件夹实例化一个预置。预置也位于“我的资源”文件夹中。但是,我得到一个错误,说“我想要实例化的对象为null” 当我直接给出预制件的名称时,它就起作用了。我似乎无法理解这个问题 我的代码是: public void Loadd() { TextAsset txtasset = (TextAsset)Resources.Load (txtfile); txtcontents = txtasset.text; strin
public void Loadd()
{
TextAsset txtasset = (TextAsset)Resources.Load (txtfile);
txtcontents = txtasset.text;
string[] linesinfile = txtasset.text.Split ('\n');
for(int i= 0; i<1; i++)
{
for (int x = 0; x < buttonholder.Length; x++)
{
//GameObject Instance = Instantiate (Resources.Load ("F260001", typeof(GameObject))) as GameObject; // works
string name = linesinfile [x];
Debug.Log (name);
GameObject Instance = Instantiate (Resources.Load (name, typeof(GameObject))) as GameObject;
}
}
}
public void Loadd()
{
TextAsset txtasset=(TextAsset)Resources.Load(txtfile);
txtcontents=txtaste.text;
字符串[]linesinfile=txtaste.text.Split('\n');
对于(int i=0;i拆分操作可能会导致linesinfile
数组末尾出现空字符串
尝试检查name
是否有效,例如使用if(!string.IsNullOrEmpty(name))
拆分操作可能会导致行文件
数组末尾出现空字符串
尝试检查name
是否有效,例如使用if(!string.IsNullOrEmpty(name))
我也在Unity answers论坛上寻求帮助,@corpsinheretoo帮助了我。问题是我如何分割字符串。我使用了“\n”,但一些文本编辑器在按return时添加了\r\n。所以我认为字符串是这样的:F26001\nF26002\nF26003实际上是这样的:F26001\r\nF26002\r\nF26003
因此,我简单地将拆分切换到“;”,并像这样编辑了我的代码和文本文件,效果很好。:和,文本文件:…我还向Unity answers论坛寻求帮助,@corpsinheretoo来帮助。问题是我如何拆分字符串。我使用了“\n”,但一些文本编辑器在按return时添加了\r\n。因此字符串应该是这样的:F26001\nF26002\nF26003实际上是这样的:F26001\r\nF26002\r\nF26003
因此,我简单地切换到“;”并像这样编辑了我的代码和文本文件,它工作了。:和,文本文件:…它在debug.log上打印什么?也检查它的长度(可能没有修剪)一个txt文件的示例它会有帮助!还有日志;)!这是Debug.log的链接..这是一个显示我的文本文件的链接..我还检查了长度是否不同。但是它们显示相同的大小…Debug.log屏幕截图:它在Debug.log打印什么?也检查它的长度(可能没有修剪)这是一个txt文件的示例,它会有所帮助!还有日志;)!这是一个Debug.log的链接。这是一个显示我的文本文件的链接。我还检查了长度是否不同。但是它们显示的大小相同…Debug.log屏幕截图:我尝试在实例化之前添加一个条件,以检查linesinfile[0]=“F260001”结果为false..我正在附加屏幕截图..添加条件后我的debug.log:当我使用if(!string.IsNullOrEmpty(name))检查时,它变为true并显示此错误..这是我的代码:我尝试在实例化之前添加一个条件,以检查linesinfile[0]=“F260001”结果为false..我正在附加屏幕截图..添加条件后的My debug.log:当我使用if(!string.IsNullOrEmpty(name))检查时,它变为true并显示此错误..这是我的代码:这是指向原始答案的链接:这是指向原始答案的链接: