jsxgraph:如何更新线路的积分?

时间:2017-12-18 21:46:35

标签: javascript jsxgraph

假设我创建了一行:

var line = board.create('line', [2, 2], [3, 3], { ... });

Line.point1的文档说明:

  

你真的不应该直接设置这个字段,因为它可能破坏JSXGraph的udpate系统,所以你的构造不会被正确更新。

jsxgraph中推荐的方法是什么来更新我传递给构造函数的这些点坐标?

更新: 我刚试过:

line.point1.moveTo(4, 4);
line.point2.moveTo(5, 5);

但这似乎搞得一团糟,也就是说,在我这样做之后,这条线就不会拖延了。

2 个答案:

答案 0 :(得分:2)

根据the documentation moveTo,需要一个数组供坐标调整:

line.point1.moveTo([4, 4]);
line.point2.moveTo([5, 5]);

它还需要一段时间作为动画持续时间的第二个参数(以毫秒为单位)。当您正在寻找即时移动时(同样的事情在省略毫秒或0时发生),您可以改为使用setPosition

答案 1 :(得分:0)

另一种选择是setPositionDirectly方法。我相信它比moveTo更快。如果您不需要为机芯设置动画,这可能是更好的选择。它确实需要更新后调用。

line.point1.setPositionDirectly(JXG.COORDS_BY_USER,[4,4]);
line.point2.setPositionDirectly(JXG.COORDS_BY_USER,[5,5]);  
board.update();