TweenMax.to()的使用

简单介绍

TweenLite/TweenMax是GreenSock 动画平台中的核心动画工具,可用来构建补间动画(tween),实现组件的移动

​ 在本人室内定位项目前端演示中,需要实现定位点移动,TweenMax就很适合我这种懒狗。

​ 主要使用的是 Tweenmax.to() 函数

// 函数结构
TweenMax.to( target:Object, duration:Number, vars:Object ) : TweenMax
// 参数依次为动画对象,动画用时,动画属性

配置属性说明

这里介绍下我使用较多的属性

时间曲线easing

​ 可以对动画的过渡效果进行调整,

​ 关键词为ease,可以设置进场 easeIn,出场 easeInOut,进出场 easeOut

​ 其种类很多,这里只列举本人比较喜欢用的几个,其他的可以参考官方文档

曲线种类使用说明(以出场为例)
Power0()Power0.easeIn
Power0.easeInOut
Power0.easeOut
匀速
Power1,Power2,
Power3,Power4
Power1.easeIn 等
Power1.easeInOut 等
Power1.easeOut 等
由快变慢,Power4效果最强烈
SineSine.easeIn
Sine.easeInOut
Sine.easeOut
正弦效果,由快变慢,比Power1效果弱
BounceBounce.easeIn
Bounce.easeInOut
Bounce.easeOut
弹跳,像小球丢在地面上
ElasticElastic.easeIn
Elastic.easeInOut
Elastic.easeOut
弹簧效果

贝塞尔曲线bezier

​ 通过绘制一组坐标点定义一条Bezier动画路径,使用关键词 bezier

​ 同样只列举部分官方文档

参数类型必填说明
valuesArray定义Bezier曲线的锚点/控制点。
锚点/控制点是一组坐标点,每个点都应该包含两个坐标值x和y或left和top,
[{x:100, y:250}, {x:300, y:0}, {x:500, y:400}]
typeString锚点/控制点类型。
- thru(默认):穿越。
- soft:柔和
- quadratic:标准的二次bezier(坐标点数量必须为单数)
- cubic:三次bezier(坐标点数量必须为3n+1)
autoRotateBoolean,
Number,
or Array
(default:false)
是否在移动过程中随曲线自动旋转

代码示例

  1. 移动到指定位置

    // 2s内移动 #box 到 (50px,50px)
    TweenMax.to('#box', 2, {
        left: 50,
        top: 50,
        ease: Power1.easeOut
    });
    
  2. 按贝塞尔曲线移动

    // 2s内按路径path构成的贝塞尔曲线移动
    var path = [{x:200, y:200}, {x:400, y:0}, {x:600, y:200}, {x:800, y:0}];
    TweenMax.to('#box', 2, {
        bezier: {values: path, autoRotate: true},
        ease: Power1.easeOut
    });
    
posted @ 2024-12-23 14:29  Zang998  阅读(132)  评论(0)    收藏  举报  来源