WooTween-简介

  1. WooTween介绍
  2. 内容组成
    1. 对象池
  3. 驱动器
  4. 转换器
  5. TweenValue
  6. Tween
  7. Component

WooTween介绍

  • 内容:实现一个简易的、易扩展、支持编辑器预览的动画模块
  • 适合人群
    • 高手 切磋
    • 中手 理解、提高代码设计能力
    • 低手 感受代码的魅力,扩展思路

内容组成

  • 0、对象池 默默无闻的螺丝钉
  • 1、驱动器 好司机
  • 2、转换器 翻译官
  • 3、TweenValue 单程车
  • 4、Tween 花样百出的乘客
  • 5、Component 好保姆

对象池

  • 为什么要使用对象池?
    • 频繁的 new 对象,会对GC 有压力
    • 在tween的实现中 ,需要大量的的对象,这些对象并不是一直在使用
  • 包含内容:
    • 通用对象池,最简单的对象池
    • 自动对象对象池,当对象不够时候,自动创建对象
    • 全局对象池扩展,全局分配任意对象,简化使用

驱动器

  • 这是什么玩意儿?
    • 整个tween 模块的驱动器
  • 为什么需要?
    • 整个模块需要逐帧的运行,他的作用就是驱动模块运行
    • 我们的tween是支持编辑器预览的,所以编辑器和运行时需要各自的驱动

转换器

  • 这是什么玩意儿?
    • 曲线转换器
  • 为什么需要?
    • 我们的tween是具有曲线运行能力的
    • 我们的tween需要支持多种曲线
    • 我们的tween需要支持多种曲线类型

TweenValue

  • 这是什么玩意儿?
    • 负责把一个值 逐帧的变化到目标值
  • 为什么需要?
    • 他是单向的
    • 他是整个tween的核心之一

Tween

  • 这是什么玩意儿?
    • 建立于 TweenValue 之上,与用户交互
  • 为什么需要?
    • 提供 双方向运行能力
    • 提供 中断、重启、恢复能力

Component

  • 这是什么玩意儿?
    • 直接在编辑器的环境之下,运行动画
  • 为什么需要?
    • 更加直观的看到效果
    • 不再需要超多的代码