如何使用leapjs从d3js使用拖动行为

时间:2014-03-06 15:15:43

标签: javascript d3.js drag leap-motion

我试图用我的跳跃运动控制器控制平行坐标图(parcoords.js from D3js framework)。

所以在parcoords.js文件中是一个拖动函数,它使用标准的d3js拖动行为,它支持触摸和鼠标,如下所述:https://github.com/mbostock/d3/wiki/Drag-Behavior#wiki-drag

但是我尝试通过跳跃动作实现渐变手势以单独拖动轴。解决这个问题我需要映射跳跃坐标以通过javascript控制鼠标。另一种解决方案可能是在我的javascript检测到抓取时调用可重新排序的函数。但我不知道如何使用跳跃手指坐标来处理d3js拖动行为。

我希望有人有想法解决这个问题。

可以在此处找到d3js平行坐标的演示:http://3developers.de/parcoords/

还有一个红色方块显示你的手指位置。

你的卢卡斯

1 个答案:

答案 0 :(得分:1)

主要问题是您需要定义“拖动手势”是什么。以下是一些选项:

  • 任何手指(“指向”)动作。因此,一旦控制器检测到手指,拖动就开始并由手指的移动来定义。当手指离开控制器可以检测到的区域时,拖动停止。
  • gesture开始拖动。这可以是例如“敲击屏幕”手势。然后,拖动跟随相应手指的移动,并在重复手势时停止。

您可以通过要求手指位于相应元素的正上方来进一步限制何时开始拖动。

在任何情况下,D3都不提供对跳跃动作的直接支持,因此您必须手动触发dragstart,drag和dragend事件。