一开始以为 将图片导入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也是 一样的。
拆箱 防止异常。