您的当前位置:首页正文

小程序动画 animation 的常规使用

2024-11-29 来源:个人技术集锦

公司小程序项目比较多,最近正好有时间看一下小程序的动画,同时记录一下我的学习过程;看到这个文章的,我建议你直接去小程序后台:

1、使用
// wxml 代码
<view animation="{{move}}">小程序动画</view>

//js
onLoad() {
    this.load()
},
load(){
//初始化
  let move = wx.createAnimation({
    duration:1000, 
    timingFunction:"ease-in-out"
  })
  move.backgroundColor("#ccc").translateY(100).rotate(360).step()
  this.setData({move:move.export()})
},

duration:持续时间
timingFunction:动画效果
delay:延迟时间
transformOrigin:动画原点

2、相关方法

1、rotate():旋转,选择角度范围 [-180, 180];
2、rotateX():从 X 轴顺时针旋转一个角度;
3、rotateY():从 Y 轴顺时针旋转一个角度;
4、rotateZ():从 Z 轴顺时针旋转一个角度;
5、rotate3d():上面三个的缩写(x,y,z,angle);
6、scale():缩放(x,y);
7、scaleX():X 轴的缩放倍数;
8、scaleY():Y 轴的缩放倍数;
9、scaleZ():Z 轴的缩放倍数;
10、scale3d():上面三个的缩写(x,y,z);
11、transkate():平移;
12、transkateX():在 X 轴平移的距离,单位为 px;
13、transkateY():在 Y轴平移的距离,单位为 px;
14、transkateZ():在 Z 轴平移的距离,单位为 px;
15、transkate3d():上面三个的缩写(x,y,z) [-180, 180];
16、skew():对 X、Y 轴坐标进行倾斜(x,y);
17、skewX():对 X 轴坐标进行倾斜;
18、skewY():对 Y 轴坐标进行倾斜;

1、export():导出动画队列;export 方法每次调用后会清掉之前的动画操作;
2、step():表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画;类似 wx.createAnimation;

matrix 和 matrix3d 可以参考:

load(){
    let move = wx.createAnimation({
      duration:1000,
      timingFunction:"ease-in-out"
    })
    move.left(200).scale(1).skew(30,0).step({
      duration:500,
      timingFunction:"ease"
    })
    move.scale(0.7).skew(0,0).step({
      duration:500,
      timingFunction:"ease"
    })
    this.setData({move:move.export()})
  },
显示全文