滑动拖尾,效果看起来好看很多!

1、预览效果

2、实现原理

    滑动的轨迹分为多段,完整划痕由多段短的轨迹拼接而成。滑动过程中,记录一定数量的滑动点,根据两点间的距离和位置,计算两点间短轨迹的长度和角度,当有新的点添加进来时,删除最先添加的点,用类似方法,在轨迹最前端,再添加一条短的轨迹,类似下图效果。

3、短轨迹实现

    短轨迹实例。只需要找一张合适精灵,用来进行拉伸即可,添加短轨迹的时候,用来实例化新的短轨迹用,我这里就是随便找的一张上下有透明,左右都是可以直接衔接的精灵图。

    短轨迹位置。直接用新传入的坐标点即可,如下图的 now 节点位置。

    短轨迹大小。计算当前节点和前一个节点的距离即可,即上图所示,now 节点和 last 节点之间的距离,然后对 now 节点进行拉伸,now 节点的锚点设置成 (1, 0.5),即是沿着红色箭头方向拉伸。

    短轨迹的角度。计算图中 a 和 b 向量的夹角即可,a 向量选了一个 (1, 0) 的单位向量进行计算,B 向量,直接通过 now 节点和 last 节点的相对位置计算即可。

4、长轨迹实现

    节点数的控制。如果滑动的节点太多,不对数量加以控制,会添加很多节点,我这里控制添加的节点数量是 20,超过 20 个,会移除掉最老的节点,在数组的尾部,添加一个新节点。

    渐变的控制。为了模拟从头到尾有的大小变化,修改短轨迹的高度,越是靠前,高度越大,这样就会有一个渐变的效果。

5、代码

    代码微店依旧可以下载,和之前切水果的一起,之前买过 demo 的伙伴,可以添加我的微信,免费获取最新的 demo 下载地址。

#点赞、再看、分享,你看着来#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值