公司小程序项目比较多,最近正好有时间看一下小程序的动画,同时记录一下我的学习过程;看到这个文章的,我建议你直接去小程序后台:
// 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:动画原点
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()})
},