C# 统一:资源。加载不起作用
我似乎无法理解为什么资源不会加载到编辑器中,也不会加载到android设备上?文件C# 统一:资源。加载不起作用,c#,android,unity3d,resources,assets,C#,Android,Unity3d,Resources,Assets,我似乎无法理解为什么资源不会加载到编辑器中,也不会加载到android设备上?文件hfba_25位于文件夹Assets>Resources>hfba_25 编辑1:textAsset始终返回为NULL如果textAsset始终为NULL,则它可能意味着两件事(由于您的代码): hfba_25文件在Resources子目录中不存在 该文件确实存在,但无法强制转换为TextAsset 要检查这两个选项中哪一个是正确的,您需要将代码更改为: string filePath = "hfba_25"; T
hfba_25
位于文件夹Assets>Resources>hfba_25
编辑1:textAsset始终返回为
NULL
如果textAsset
始终为NULL
,则它可能意味着两件事(由于您的代码):
hfba_25
文件在Resources
子目录中不存在李>
TextAsset
string filePath = "hfba_25";
TextAsset textAsset = Resources.Load(filePath) as TextAsset;
string fileString = textAsset.text;
然后在Unity内部运行并检查控制台
如果您只得到Null
,则表示它是1(文件不存在)
如果取而代之的是InvalidCastException:指定的强制转换无效。
,则表示它是2,文件存在,但不能强制转换为TextAsset
类型
这是因为在C#中,如果使用关键字
as
进行强制转换,当强制转换无效时,您不会得到异常,而是将引用设置为null
,如果textAsset
始终为null
,则它可能意味着两件事(由于您的代码):
hfba_25
文件在Resources
子目录中不存在李>
TextAsset
string filePath = "hfba_25";
TextAsset textAsset = Resources.Load(filePath) as TextAsset;
string fileString = textAsset.text;
然后在Unity内部运行并检查控制台
如果您只得到Null
,则表示它是1(文件不存在)
如果取而代之的是InvalidCastException:指定的强制转换无效。
,则表示它是2,文件存在,但不能强制转换为TextAsset
类型
这是因为在C#中,如果使用关键字
as
进行强制转换,当强制转换无效时,不会出现异常,而是将引用设置为null
什么“不起作用”?你有任何错误信息吗?在fileString
变量中得到了什么?@Hellium nothing我得到的textAsset为null,没有其他错误消息。是否检查文件格式是否受支持?什么“不起作用”?你有任何错误信息吗?在fileString
变量中得到了什么?@Hellium nothing我得到的textAsset为null,没有其他错误消息。是否检查文件格式是否受支持?是的,你是对的。json文件在windows中另存为Type:File,而不是Type:json。谢谢男/女。是的,你说得对。json文件在windows中另存为Type:File,而不是Type:json。谢谢你。