首页 > 解决方案 > 在 JSXGraph 中使滑翔机元素可拖动

问题描述

我想允许最初沿 A 线移动的滑翔机元素被拖到另一条 B 行。滑翔机元素被拖到新行后,它应该作为新行上的滑翔机。

实现此功能的最佳方法是什么?

谢谢

标签: javascriptjsxgraph

解决方案


这可以通过磁化点来实现。JSXGraph 点可能会收到数组属性attractors。这使得该点成为一个滑翔机,以防它足够靠近吸引子元素之一。“足够接近”由属性决定attractorDistance。通过将其拖离对象,可以再次“释放”该点。拖动量由属性决定snatchDistance。这是一个带有 snatchDistance 的示例,它使得无法将点拖离线:

var line1 = board.create('line', [[-4,4], [4,1]]);
var line2 = board.create('line', [[-4,1], [4,2]]);
var p = board.create('point', [4,1], {
    attractors: [line1, line2], 
    attractorDistance: 0.5, 
    snatchDistance: 1000
});

在https://jsfiddle.net/dcf2o85j/2/现场观看。另一个示例位于https://jsxgraph.org/wiki/index.php/Magnetized_points


推荐阅读