问题描述
在小程序中,如果可以用一个动画效果展现一句话或一段文字,会比普通文字呈现更具吸引力,这不仅是体现更多样的文字效果,更是突出这段文字的一个方法。那么接下来就来看一下如何实现一个文字旋转的动画效果吧。
效果图:
解决方案
1 wxml:
这部分很容易实现,只需要设置一个点击旋转标签button以及对一条需要旋转的文字进行数据绑定即可。
<view>
<view animation="{{animation}}">我在做动画</view>
</view>
<button type="primary" bindtap="rotate">旋转</button>
2 js:
js中需要先了解一个animation的api,其中的参数和方法如下:
(1)duration: 动画持续多少毫秒。
(2)timingFunction:“运动”的方式,本例中的“linear”代表动画以匀速的效果来呈现。
(3)delay:多久后动画开始运行,也就是动画延迟开始的时间translate(100,-100)向X轴移动100的同时向Y轴移动-100。
(4)step():一组动画完成,例如想让本例中的文字旋转,用this.animation.rotate(360).step(),其中360就表示旋转一周360°。
代码如下:
Page({
data: {
text: "Page animation",
animation: ''
},
onLoad: function (options) {
},
onReady: function () {
//实例化一个动画
this.animation = wx.createAnimation({
// 动画持续时间,单位ms,默认值 400
duration: 1500,
timingFunction: 'linear',
// 延迟多长时间开始
delay: 100,
transformOrigin: 'left top 0',
success: function (res) {
console.log(res)
}
})
},
//旋转
rotate: function () {
//顺时针旋转10度
this.animation.rotate(360).step()
this.setData({
//输出动画
animation: this.animation.export()
})
}
})
结语
文字的动画效果远不止这一种,它可以实现很多样很丰富的形式,本篇只是一个基础的动画效果演示,后续将介绍更丰富的动画效果,欢迎持续关注。
END
编 辑 | 王楠岚
责 编 | 吴怡辰
where2go 团队