Untiy-Resources 加载图片

一开始以为 将图片导入Unity时, 将其 图片转为sprite 以为就可以直接 load为sprite了,可是 一直报null异常

原来是 加载后Debug出来是这个类型



因为 加载的时候 是Texture2D类型,而我硬生生将其 转为 sprite,难怪会报异常了,

 其实 用 Load方法的话,一般会Loade第一个,而不会load子物体(sprite),

然后sprite类是unity中 生成的, 要将图片变成sprite,需要去 create,其实也是

下面 将其 转换 创建从出来, Sprite pic = Sprite.Create(img, new Rect(0, 0, img.width, img.height), new Vector2(0.5f, 0.5f));  就可以了 

 


另外还有个loadAll方法,要注意的是Texture不用转为sprite,转为sprite的话,obj数量就有10个 了

写法如下,这个是按导入的顺序进行 加载,上面是根据导入名字加载


而且 不能写成这样否则 转换过程中会 丢失报null异常



补充,Load方法中还可以用类型过滤掉, 加个typeof 参数就可以过滤掉错误的问题。

还有LoadAll也是 一样的。

拆箱 防止异常。

猜你喜欢

转载自blog.csdn.net/qq2512667/article/details/80663143