全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

微信小程序手势操作之单触摸点与多触摸点

前言

手势对于一些效果是比较重要的,在canvas、交互等中应用非常广,看一下微信小程序手势是如何的。

Demo

为了研究小程序是否支持多手指,需要使用touchstart,touchmove,touchend

// 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);
 }

单触摸点,多触摸点

官方文档:changedTouches

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

"changedTouches":[{ 
"identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14
}]

真机效果

实现以上Demo后模拟器是无法看到多触摸点的数据的,所以你需要真机来测试。

看下真机的log信息

在changedTouches中按顺序保存触摸点的数据,所以小程序本身支持多触摸点的手势

结论

设想: 既然小程序的手势是支持多触摸,而且可以获取到相关的路径,那么相关路径计算也是可行的。

场景: 多触摸交互效果,手指绘制等

触摸点数据保存

为了能够来分析触摸点的路径,最起码是简单的手势,如左滑、右滑、上滑、下滑,我们需要保存起路径的所有数据。

触摸事件

触摸触发事件分为"touchstart", "touchmove", "touchend","touchcancel"四个

详见:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html20

存储数据

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; 
    }
  }
}

结尾

这篇文章,主要探索一下,希望你也可以提前看一下手势的解析。


# 微信小程序手势操作  # 小程序  # 单触摸点与多触摸点  # 手势操作  # 微信小程序实现拖拽 image 触摸事件监听的实例  # 微信小程序实现手指触摸画板  # 看一下  # 这篇文章  # 你也可以  # 数据格式  # 文档  # touchmoveFn  # bindtouchend  # touchendFn  # bindtouchmove  # bindtouchstart  # gestureView  # touchstartFn  # log  # move  # PageX  # console  # gt  # function  # event  # id 


相关文章: 韩国服务器如何优化跨境访问实现高效连接?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  制作网站的基本流程,设计网站的软件是什么?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  建站之星如何实现网站加密操作?  如何访问已购建站主机并解决登录问题?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  建站之星如何取消后台验证码生成?  济南网站制作的价格,历城一职专官方网站?  如何通过wdcp面板快速创建网站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何设计高效校园网站?  如何在IIS中配置站点IP、端口及主机头?  广州商城建站系统开发成本与周期如何控制?  制作门户网站的参考文献在哪,小说网站怎么建立?  建站主机空间推荐 高性价比配置与快速部署方案解析  如何在自有机房高效搭建专业网站?  建站之星代理平台如何选择最佳方案?  广东企业建站网站优化与SEO营销核心策略指南  建站之星如何一键生成手机站?  图册素材网站设计制作软件,图册的导出方式有几种?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何用虚拟主机快速搭建网站?详细步骤解析  SQL查询语句优化的实用方法总结  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何在Golang中指定模块版本_使用go.mod控制版本号  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  建站DNS解析失败?如何正确配置域名服务器?  网站制作价目表怎么做,珍爱网婚介费用多少?  网站企业制作流程,用什么语言做企业网站比较好?  如何配置FTP站点权限与安全设置?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  如何在Windows服务器上快速搭建网站?  如何在Windows虚拟主机上快速搭建网站?  免费网站制作appp,免费制作app哪个平台好?  如何确保FTP站点访问权限与数据传输安全?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站之星价格显示格式升级,你的预算足够吗?  股票网站制作软件,网上股票怎么开户?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  Bpmn 2.0的XML文件怎么画流程图  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  黑客入侵网站服务器的常见手法有哪些?  如何快速生成ASP一键建站模板并优化安全性?  高端云建站费用究竟需要多少预算?  建站与域名管理如何高效结合?  如何选择高效稳定的ISP建站解决方案?  宝塔建站助手安装配置与建站模板使用全流程解析  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。