私域电商软件及相关增值服务提供商    

免费试用

微信小程序开发动画以圆点沿着圆圈运动为案例

2017-12-05
导读:2017年6月14日,微信小程序开发动画已经是当下最热门的话题,下面将从多方面来谈谈微信小程序开发动画以圆点沿着圆圈运动为案例相关的内容。...

微信小程序开发动画已经是当下最热门的话题,下面将从多方面来谈谈微信小程序开发动画以圆点沿着圆圈运动为案例相关的内容。

滴滴作为第一批的小程序开发者,大量地用到了动画,积累了一些经验,由于市面上的小程序动画案例很少,我们就分享一部分滴滴做过的案例:

首先用 wx.createAnimation(OBJECT) 创建一个动画实例,OBJECT 里的参数是设置动画 duration、timingFunction、delay、transformOrigin;然后通过 export 方法将动画实例输出并 setData 给组件 data{} 里的 animation 属性。

在开始说下面的小动画之前需要注意以下几点:

1、小程序官方动画 API 文档的最下面的 bug&tip :

bug: IOS/Android 6.3.30 通过step()分隔动画,只有第一步动画能生效。

2、在小程序动画文档里的 wx.creatAnimation(OBJECT) 这个方法提供的参数没有类似 css3 animation-iteration-count 这样的参数。

接来就说说下面的小动画案例:

微信小程序开发动画以圆点沿着圆圈运动为案例

如上图我们要实现小圆点沿着圆圈轨迹运动的小动画。

WXML:

两个 view 标签,一个是路径圆圈,圆圈可以用背景图来做也可以用 border-radius 来实现;一个是圆点。

<view class='animation-box'>

    <view class = 'time-crl-path'></view>

    <view class = 'crl-dot' animation='{{dotAnData}}'></view>

</view>

WXSS:

基本设置定位,这里只放宽高。

.animation-box{

    width: 176px;

    height:176px;

}

.time-crl-path {

    width: 176px;

    height: 176px;

    ......

}

 

.crl-dot {

    width: 9px;

    height:9px;

    ......

}

. JS:

transformOrigin 这个参数所设置的是小圆点旋转时的原点,默认是元素中心,下面设置的就是路径圆圈的中心,具体参数需要根据路径圆圈不来算。

Page({

  data: {

        dotAnData: {}

  },

  onShow: function(){

        var i = 0

        var dotAnData =wx.createAnimation({

            duration: 1000,

            transformOrigin: '4px 91px'

        })

 

        dotAnFun =setInterval(function() {

             dotAnData.rotate(6 * (++i)).step()

             that.setData({

                  dotAnData: dotAnData.export()

             })

        }.bind(that), 1000)

   }

})

从上面的代码可以看出是使用 setInterval() 解决了文章开头的两项注意事项。

那么为什么不执行 rotate(360) 或者 rotate(180) ?

这就要注意官方文档的 rotate(deg) 的 deg 的取值范围 -180 ~ 180,从原点顺时针旋转一个 deg。还有就是 rotate animation 在运动角度幅度较大的情况下轨迹会有偏离,就是说在正常设置的 transformOrigin 的情况下圆点运动轨迹会有偏离。

所以上面的小动画案例就是把它拆分,定义 deg 为 6 作基本增加量, ++i 累加,这样在正常的 transformOrigin 下整个动画就是由每个小动画 rotate(6) 组成的。

目前小程序动画对于动画效果还是有限制的,不过简单的动画效果是没问题的啦~

 


重磅推荐:小程序开店目录

第一部分:小商店是什么

第二部分:如何开通一个小商店

第三部分:如何登录小商店

第四部分:开店任务常见问题

第五部分:小商店可以卖什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收货/物流

第九部分:小程序怎么结算

第十部分:小程序客服

第十一部分:电商创业

第十二部分:小程序游戏开发

电话咨询 微信咨询 预约演示 0元开店