BK.TouchEvent 触摸事件

触摸事件类每次手指点击时,会产生与手指相同数量的触控对象。如2个手指同时点击,将会产生2个触控对象,其中触控对象保存了当前的手指id,位置,点击态(点击中,移动中,点击抬起)等信息。接受触摸的流程。1.调用getTouchEvent 获取触摸时间数组2.处理触摸事件3.调用updateTouchStatus更新触摸

首先先说明触控对象其中的元素

参数 类型 名称 备注
id number 触控对象标识 不同手指有不同id
x number x轴位置 当前点击的x位置。单位为逻辑点
y number y轴位置 当前点击的y位置。单位为逻辑点
status number 点击态 1.点击抬起 2.点击中 3.移动中

方法

getTouchEvent()

获取触摸事件

参数:无

返回值:

类型 名称 备注
Array 触摸事件 该数组每个元素代表一个手指触摸对象

updateTouchStatus()

更新触摸分发。调用getTouchEvent后必须调用该方法参数:无

返回值:无

获取点击事件例子:

  1. var touchArr = BK.TouchEvent.getTouchEvent();
  2. for(var i=0;i<touchArr.length;i++){
  3. var x = touchArr[i].x;
  4. var y = touchArr[i].y;
  5. //点击中
  6. if(touchArr[i].status == 2 ){
  7. //do something
  8. }
  9. }
  10. BK.TouchEvent.updateTouchStatus();

注意事项:

需确保全局仅有一处地方使用getTouchEvent获取点击事件,同一时间获取多次getTouchEvent会导致触摸事件混乱。

原文: https://hudong.qq.com/docs/engine/api/BK.TouchEvent.html