我做了一个基于Tween的界面动画系统!
为什么要做呢?
为了让用户交互更顺畅,很多游戏的界面打开/关闭都会有相应的动画。别人有的我们也要有!
那就做呗… 第一个问题是… 不想用动画系统(Animation),当然这是个人原因。
于是,我开始用Tween,问题产生了:
- 多节点缓动使用不便
- 缓动代码与界面逻辑混在一起
- 不能像动画系统一样即时预览(失去了才懂得珍惜,淦…)
话都说到这份上了,新系统应该要解决一下吧?
- 支持并行/顺序触发多个节点上的动画
- 组件式配置动画参数,与界面逻辑分离
- 编 辑 器 内 即 时 预 览!(所见即所得!)
当然了,基本的功能也要有。
- 支持position、opacity、scale、rotation属性
- 支持delay、easing函数、结束回调
一. 效果演示
简单做了个视频,截图很难描述动画效果…
BILIBILI视频地址
视频中基本将Action系统的基础功能都演示了一遍,并有对应的操作过程。
界面动画要做得好看、自然,是需要一点专业功底的。作为一个程序员,就只能做到效果演示的地步了2333。
二. 收尾
Action系统本质上是将Tween包装成组件,再将若干Tween组装成事件序列,通过事件触发。比较适合在界面动画中使用。
插件基于Cocos 3.3开发,理论上支持3.3及以上的版本。
但由于不同版本编辑器逻辑有差异,可能不支持实时预览,还在继续研究。
Action系统原基于Cocos 2.x,后来因为一些需求,基于3.x重新实现,并根据使用经验,做了一些优化和改进。
本来计划年中完成,能硬是划水划到年底,这也是很不容易的!
这冬天,敲键盘的手冰凉冰凉的
这是商店链接:
https://store.cocos.com/app/detail/4333
这是文档链接:
https://www.yuque.com/yuhuo-2kehw/pk4x20
这是体验地址:
https://ppppromise.com/game/action/