动画

拓扑组件为对象提供了动画的能力,我们可以通过相关方法来为对象执行动画。

动画相关属性

object.isAnimating

当对象正在动画运行中时,该值为 true

动画相关方法

方法 说明
object.animate(properties, options) 为对象执行动画
object.stopAnimate() 结束动画
object.isAnimating() 对象是否正在执行动画

object.animate(properties, options)

参数名 类型 说明
properties object 修改的对象属性
options object 动画参数,具体配置参见动画参数配置
node.animate({
  opacity: 0.5,
  angle: 60 
}, { 
  duration: 300, 
  reversible: true,
  runCount: 3,
  cosmetic: true,
  finished: function() {
    console.log('动画结束')
  }
})

可支持动画的属性(properties)

节点

  • position
  • opacity
  • angle
  • scale
  • width
  • height
  • fill
  • stroke
  • strokeWidth

连线

  • stroke
  • strokeWidth

    动画参数配置(options)

配置项 类型 说明 默认值
duration number 一次动画的时长 600
easing string / function 动画函数,参见 动画函数 'EaseInOutQuad'
reversible boolean 在一次动画结束时是否反向执行动画,该值为 true 会使真正执行一次动画的时间加倍 false
runCount number 是否重复执行动画,可被设为正整数或 Infinity 1
finished function 动画执行完时的回调函数 undefined
cosmetic boolean 动画结束时的状态,该值为 true 对象将恢复为初始状态 false

动画函数

动画函数的值可以是任意的 easing 函数,或使用内建的取值:'EaseInExpo' , 'EaseInOutQuad' ,'EaseInQuad' , 'EaseLinear' , 'EaseOutExpo' ,'EaseOutQuad'

object.stopAnimate()

停止动画,并将对象更新至结束状态。当动画参数配置的 cosmetic 值为 true 时,对象将恢复为动画开始前的状态。

node.stopAnimate()
该文件修订时间: 2022-04-06 11:24:05

results matching ""

    No results matching ""