写的一个UGUI下Image控件做序列帧动画的小工具

unity2D使用序列帧做动画,一般都用2d SpriteRenderer,它的好处是能够沿用图片原有的大小和锚点。特别是我们使用TexturePacker打图集的时候并且Trim边缘空白的时候,可以直接使用它,而不用在程序中调整它的位置等信息。

然而我们如果使用UGUI系统,SpriteRender缺有挺多冲突,特别是当我们组合使用的时候,渲染顺序导致的问题很多。所以我期望有一个基于UGUI的动画解决方案。

研究了一下,unity官方貌似并不提供这种基础组件,于是没办法,自己写了一个。如果你有更好的办法,请告诉我。

我自己基本的实现需求和原理是
* 要求在Editor模式下所见即所得的看到序列帧切换动画效果
* 要求能够读入并延续Sprite上自带的位置、锚点信息
* 轻量级
* 要求能够翻转,能够被外部程序所控制

实现代码见后文,使用方法:
* 将此脚本与Image绑定在同一个GameObject上
* 将你要使用的序列帧随便一帧绑定到sprite参数上
* 调整xoffset和yoffset,保证对齐到锚点
* 如果需要翻转,请将第一步的GameObject绑定到一个长宽为0的父节点上,并且点击EnableFlipX
* 在代码中调用,只需修改sprite或flipX属性后,调用Refresh()方法即可

/// <summary>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值