国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序手勢操作之單觸摸點與多觸摸點

2019-11-19 17:11:32
字體:
來源:轉載
供稿:網友

前言

手勢對于一些效果是比較重要的,在canvas、交互等中應用非常廣,看一下微信小程序手勢是如何的。

Demo

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

// index.wxml<view id="gestureView" bindtouchstart="touchstartFn" bindtouchmove="touchmoveFn" bindtouchend="touchendFn" ></view>
//index.jstouchstartFn: 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;     }  }}

結尾

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 濮阳县| 巴塘县| 辽源市| 新竹市| 清苑县| 柳河县| 马公市| 长宁县| 绥中县| 永兴县| 桓仁| 普安县| 凤山县| 廉江市| 阳谷县| 元谋县| 马关县| 灵山县| 肇州县| 洛南县| 深泽县| 临沂市| 湘阴县| 武平县| 汝阳县| 岳池县| 石家庄市| 龙里县| 兴仁县| 鄄城县| 五常市| 株洲县| 衡山县| 迁安市| 宜阳县| 赫章县| 阳信县| 随州市| 玉屏| 乌海市| 安福县|