Unity插件之NGUI学习(4)—— 创建UI2DSprite动画

创建一个新的Scene。并按 Unity插件之NGUI学习(2)创建UI Root,并在UI Root的Camera下创建一个Panel。


然后在选中Panel,在菜单中选择NGUI->Create->Unity 2D Sprite


查看Inspector窗体



接着是在Unity中制作Sprite:

在Project窗体创建Textures目录。并从外部拖入一些图片素材,然后选中须要转成Sprite的图片,然后在Inspector窗体进行转变Sprite的操作,如图。


选择Sprite(2D/uGUI)就可以完毕转变,图片能够多选。

然后在Hierarchy窗体选中先前制作的2D Sprite,在Inspector窗体中选择先前制作的Sprite。



接着是UI2DSprite的动画制作了。在Hierarchy窗体选中先前制作的2D Sprite,在菜单中选择Component->Scripts->UI2DSprite Animation,然后在Inspector窗体对UI2DSprite Animation进行编辑。


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,不知道是否在性能上有所劣势。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值