当前位置:   article > 正文

Untiy-Resources 加载图片_unity resource加载sprite为空

unity resource加载sprite为空

一开始以为 将图片导入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也是 一样的。

拆箱 防止异常。

 

 

后来发现里面还有 泛型 写法。。。防止上面的null异常。

Sprite a=    Resources.Load<Sprite>("icon/J_01");

Texture2D a=    Resources.Load<Texture2D>("icon/J_01");

也不用考虑装箱,拆箱。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/103605
推荐阅读
相关标签
  

闽ICP备14008679号