创建一个新的Scene。并按 Unity插件之NGUI学习(2)创建UI Root,并在UI Root的Camera下创建一个Panel。
然后在选中Panel,在菜单中选择NGUI->Create->Unity 2D Sprite
查看Inspector窗体
接着是在Unity中制作Sprite:
在Project窗体创建Textures目录。并从外部拖入一些图片素材,然后选中须要转成Sprite的图片,然后在Inspector窗体进行转变Sprite的操作,如图。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGNvb2tpZXM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
选择Sprite(2D/uGUI)就可以完毕转变,图片能够多选。
然后在Hierarchy窗体选中先前制作的2D Sprite,在Inspector窗体中选择先前制作的Sprite。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGNvb2tpZXM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
接着是UI2DSprite的动画制作了。在Hierarchy窗体选中先前制作的2D Sprite,在菜单中选择Component->Scripts->UI2DSprite Animation,然后在Inspector窗体对UI2DSprite Animation进行编辑。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGNvb2tpZXM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
Framerate 设置帧率
Ignore Time Scale 设置是否忽略TimeScale对动画播放的影响
Frames 手动设置动画播放的顺序,可将先前制作的Sprite拖动到各个Element中去。
点击播放button,就可以看到动画效果。
只是看了下UI2DSpriteAnimation的源代码,比較简单,默认仅仅有循环播放,也没有暂停和播放功能(与UISprinte Animation同样)。只是这些都能够通过简单的代码改动来添加这些功能。
UISprinte Animation与UI2DSprite Animation的差别
除性能考虑外,在我看来最大的差别在于动画播放的每一帧图片的控制不同。
UISprinte Animation全然是通过Name Prefix来控制每一帧图片的。或者是制作单个Atlas的全部图片。并且播放的顺序全然是靠图片名称来排序的,所以在制作动画是,每张图片名称最好以数字结尾,便于排序。并且假设同一张图片须要在多个动画中使用的话,好像UISprinte Animation就不能合理的使用,不知道大家有没有好的建议。
UI2DSprite Animation的优势在于能够随意设置每一帧动画的图片,可是它必须将每个单张图片转成Sprite,不知道是否在性能上有所劣势。