- 出现原因
- 解决方法
- 1、类型强制转换
- 2、添加泛型进行筛选
在文件夹创建名称正确且存在需要获取的文件的前提下,在代码中无法正常获取所需文件
解决方法 1、类型强制转换GameObject g = (GameObject)Resources.Load("Prefabs/ItemPrefab");
Debug.Log(g.name);
使用其他类型的文件进行强制转换:
Sprite g = (Sprite)Resources.Load("Equipment/Belt");
Debug.Log(g.name);
2、添加泛型进行筛选
除Game Object之类Unity自身的类型,如图片类型的Sprite是不支持强制转换的,转换之后也不识别。
在Load方法的说明中可以看到如下图
我们想获取一个Sprite类型的文件除了可以强制转换外,还可以使用泛型来约束该对象类型,该方法返回是想要的类型,不存在强制转换的风险。
所以:
Sprite g = Resources.Load("Equipment/Belt"); Debug.Log(g.name);



