组合缓动(CompositeTweener)
组合缓动通常可以拥有一个或更多的子缓动,子缓动依附的节点必须是当前节点或当前节点的子节点。
组合缓动将会根据属性 子缓动标签 subTweenerTag
来识别子缓动。
不同级别的组合缓动的属性 子缓动类型 classOfSubTweener
不一样,笔者按照生物学的概念命名,目前内置以下组合缓动:
- 组织组合缓动:子缓动类型为细胞缓动。
- 器官组合缓动:子缓动类型为组织组合缓动。
- 系统组合缓动:子缓动类型为器官组合缓动。
- 生命组合缓动:子缓动类型为系统组合缓动。
- 种群组合缓动:子缓动类型为生命组合缓动。
这些子缓动会根据属性 播放模式 playmode
按照次序执行或是间隔一段时间地执行。
组合缓动支持调试功能,在编辑器中调试时会以当前节点为原型生成预览节点,
预览节点会在组合生命缓动周期中的onLoad时或勾选预览结束后自动关闭的情况下在预览结束自动被删除,用户可以手动点击暂停按钮关闭调试,不需要手动删除预览节点。
所有复杂的缓动都是由多个简单的缓动组件组合方式来实现的,下图中就展示了一个生命组合缓动的结构。
接下来我们以子缓动类型为细胞缓动的组织组合缓动为例子介绍如何使用组合缓动:
选中一个节点, 添加翻页书复杂细胞(FlipbookComplexCell)
添加组织组合组件(TissueComposite)
组织组合缓动的子缓动类型 classOfSubTweener
为细胞缓动(CellTweener),会自动将当前节点中所有缓动标签与子缓动标签相同的细胞缓动视为子缓动,
细胞缓动的执行顺序与细胞缓动组件的排列顺序有关。
我们再添加一个贝塞尔复杂细胞(BezierByComplexCell)
默认 播放模式 playMode
为 sequence,将会顺序执行缓动。
此时点击播放进行调试:
以上的动画可以这么概括。
将属性 播放模式 playMode
切换为 interval,并设置属性 播放间隔时间 为1秒。
此时点击播放进行调试:
以上的动画可以这么概括:
接下来以器官组合缓动为例介绍子缓动类型为组合缓动时的开发流程:
复制我们刚才的使用的节点并稍微挪动一下位置并创建一个新节点并将这两个节点拖拽成其的子节点
为父节点添加器官组合缓动组件,并依次把子节点拖拽到子缓动数组。
直接点击播放预览的效果如下:
以上的动画可以这么概括:
将父节点的器官组织组件的属性 播放模式 playMode
切换为 interval,并设置属性 播放间隔时间 为0秒。
效果如下:
以上的动画可以这么概括:
小结
上面的例子里,我们通过组织组合缓动组件将节点中的图集复杂细胞缓动和贝塞尔复杂细胞缓动组合,之后通过父节点的器官组合缓动组件将两个子节点的组织组合缓动组合,这就是Tweener中用组件化的形式开发缓动动画的工作流程,我们可以通过这种方式关联多个节点的缓动组件,实现如:实时的过场动画、角色的特殊技能等。
值得一提的是组合缓动通过子缓动标签来识别子缓动,如果有多个组合缓动关联同个节点就需要使用标签来识别。