首页 > 解决方案 > 如何使用 aframe Daydream 触控板控件?

问题描述

我正在尝试在框架中使用 Daydream 触控板。特别是我需要让我将其视为触摸板的事件。换句话说,我需要 touchstart、touchmove 和 touchend 事件或等价物。

文档仅列出这些事件

trackpadchanged     Trackpad changed.
trackpaddown        Trackpad pressed.
trackpadup          Trackpad released.
trackpadtouchstart  Trackpad touched.
trackpadtouchend    Trackpad not touched.

注意没有trackpadmoveor trackpadtouchmove。我尝试添加一个事件,trackpadchanged但它不是一个类似 touchmove 的事件。

如果我想说“滚动浏览某些东西”,我需要用户在键盘上移动手指时的值。

我尝试打印出所有这些事件

const dd = this.el.querySelector('#daydream-controls');
[
  'trackpadchanged',
  'trackpaddown',
  'trackpadup',
  'trackpadtouchstart',
  'trackpadtouchend',
].forEach((event) => {
  dd.addEventListener(event, (e) => {
    console.log(event, e);
  });
});

但是当我在垫子上拖动手指时,我没有看到任何事件。我只在触摸垫时看到跟随,然后trackpadtouchstart在释放时看到跟随。trackpadchangedtrackpadtouchendtrakpadchanged

当用户将手指移过垫子时,我应该寻找其他事件或其他方式来阅读吗?

标签: aframe

解决方案


使用axismove底层提供的事件tracked-controls

另请参阅:https ://www.npmjs.com/package/aframe-thumb-controls-component


推荐阅读