(本人使用的Unity版本为4.6.3)
当我们用UGUI创建一个Button时会发现,UGUI的Button的背景只支持精灵类型,于是一般的图片就不可以直接拖拽到Button脚本上了,需要先把一般的图片转化为精灵才能得以解决。
闲言少叙,首先用一张Project中普通图片创建一个精灵:
依照Edit-->Project Settings-->Editor,此时在Inspector面板中出现了一系列的选项,找到Sprite Packer,在Mode的下拉框中选择Always Enabled,如下图
第一步完事了,下面来看怎么具体创建精灵,选中Project中的一张图片,在Inspector中随即就会出现xxx Import Setting,如下图:
在Texture Type的下拉框中选择Sprite(2D and UI),下面将出现一个Packing Tag用于进行精灵打包的,位于同一个精灵图集的精灵,此项的值必须相同,在此可以填1,然后点击右下角的Apply即可,此时精灵就创建好了,现在在Project中找到你刚才的那张图片,把它往Inspector中的Button脚本上拖就行了。
然后进行精灵的打包,UGUI默认情况下只要Packing Tag相同的精灵都会打进同一个包里,而且是自动为我们打好的,所以刚才创建精灵时的packing tag的设置就显得尤为重要了,接着在路径:window-->Sprite Packer中就可以看到打好的精灵包了。
同时注意,用于创建精灵的图片不能直接放在Project下的Resource的根目录下,否则创建的精灵不能使用,但同时,一般我们在脚本中动态的添加精灵、纹理等都需要用到Project中的资源,而Unity只为我们提供了加载Resource下的资源(AssetBudle除外)的函数Resource.Load(),故,如果创建的精灵不在Resource下,将不好使用,解决方法是:在Project下的Resource下再建一个子文件夹,然后把需要创建成精灵的图片全都放进该子文件夹中就可以用Resource.Load()进行加载资源了,如下图所示:
当需要加载2DSprites下的bgs精灵时,只需调用Resource.Load(2DSprites/bgs)即可