手势开发研究,微信小程序的单触摸电与多触摸点

2018/4/3 18:37:24
摘要: 在微信小程序的开发过程中,手势常常被应用在canvas、交互的开发中,所以手势对一些开发效果来说是比较重要的

在微信小程序的开发过程中,手势常常被应用在canvas、交互的开发中,所以手势对一些开发效果来说是比较重要的。本文我们探讨的是,微信小程序开发是否支持多触摸点,即多手指的触屏使用,根据官方给出的开发文档说明,我们这一次的研究需要使用到touchstart、touchmove与touchend。

  1、Demo

// index.wxml

<view id="gestureView" bindtouchstart="touchstartFn" bindtouchmove="touchmoveFn" bindtouchend="touchendFn" >

</view>

//index.js

touchstartFn: function(event){

    console.log(event);

  },

  touchmoveFn: function(event){

    console.log(event);

    // console.log("move: PageX:"+ event.changedTouches[0].pageX);

  },

  touchendFn: function(event){

    console.log(event);

    // console.log("move: PageX:"+ event.changedTouches[0].pageX);

  }

  2、单触摸点、多触摸点分析

changedTouches 数据格式与touches相同,表示有变化的触摸点,如从无变有(touchstart)、位置变化(touchmove)、从有变无(touchend、touchcancel)。

 

"changedTouches":[{

"identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14

}]

  3、真机测试效果

实现以上Demo之后,模拟器无法看到多触摸点额的相关数据,需要真机测试来查看效果。

 微信小程序开发案例

 

  4、结论分析

在changedTouches中可以按顺序保存触摸点的数据,因此,小程序本身也是支持多触摸点手势开发的,而且通过这类开发可以获取到相关的路径,对相关路径也可以进行计算。这种多触摸点可以被运用在多触摸交互效果、手指绘制等方面上。

  5、触摸点的数据保存

为了能够分析触摸点的路径,需要保存起路径的所有数据。数据存储代码如下:

var _wxChanges = [];

var _wxGestureDone = false;

const _wxGestureStatus = ["touchstart", "touchmove", "touchend","touchcancel"];

// 收集路径

function g(e){

    if(e.type === "touchstart"){

        _wxChanges = [];

        _wxGestureDone = false;

    }

    if(!_wxGestureDone){

        _wxChanges.push(e);

        if(e.type === "touchend"){

            _wxGestureDone = true;  

        }else if(e.type === "touchcancel"){

            _wxChanges = [];

            _wxGestureDone = true;

        }

    }

}


声明:文章"手势开发研究,微信小程序的单触摸电与多触摸点"为互诚科技—微信小程序开发公司的原创文章,转载请注明出处,谢谢合作!
标签:小程序干货
电话咨询:18011971195(黄先生)
在线留言:
微信扫码,关注我们
相关文章
  • 微信小程序开发教程之http请求

    微信小程序的服务器中可以设置四种网络访问域名,每一种类型的网络请求需要设置一个对应的域名,并且要注意的是,在设置域名

  • 开发微信小程序,怎么通过运营提高话题关注度?

    想要搭建一个小程序是很容易的一件事,只要有资金或者有技术,都可以快速搭建起一个小程序。但是,搭建容易,要推广就需要花费心思去做。比如在运营中,要如何去提高小程序发表的话题关注度这个问题,就需要花一些心思去想办法

  • 小程序开发技术教程:数据的绑定处理与data数据设置

    开发微信小程序,需要对数据进行设置与绑定,以便于处理数据。其中,wxml的动态数据均来自对应Page的data,通过使用Mustache语法

  • 开发汽车行业微信小程序,打破汽车门店地域限制

    汽车行业中无论是汽车的售卖还是维修、保养等方面,都是比较低频的商业场景,且由于行业的一些价格、地域等限制,也让汽车行业的发展有了局限性。不过,由于互联网的发展,也出现了很多平台来争先恐后地想解决掉汽车行业的这种局限,微信小程序就是

  • 影响广州微信小程序定制开发费用的因素

    在目前的广州微信圈市场上,不会存在每一个定制开发的小程序费用都一样的情况,不同的功能需求、不同的开发主体以及市场环境都有可能成为影响开发价格的因素。

  • 开发微信点餐小程序,服务管理更便捷,经营成本有效降低

    微信小程序作为一个工具型的产品被开发与推广,有多种可以作为工具使用的场景可以选择,餐饮行业的点餐工具就是常见的