【发布时间】:2013-12-10 21:23:12
【问题描述】:
基本上我想沿着路径滚动一个对象。我已经看到几个线程正在寻找不使用 paper.js 的类似解决方案,但我想知道 paper.js 是否可能。或者有人可以给我一个对象遵循 svg 曲线的工作 jsfiddle,因为我无法得到任何工作。我最终希望有一个 div 链跟随路径。
// vars
var point1 = [0, 100];
var point2 = [120, 100];
var point3 = [120, 150];
// draw the line
var path = new Path();
path.add(new Point(point1), new Point(point2), new Point(point3));
path.strokeColor = "#FFF";
path.closed = true;
// draw the circle
var circle = new Path.Circle(0,100,4);
circle.strokeColor = "#FFF";
// target to move to
var target = point2;
// how many frame does it take to reach a target
var steps = 200;
// defined vars for onFrame
var dX = 0;
var dY = 0;
// position circle on path
circle.position.x = target[0];
circle.position.y = target[1];
function onFrame(event) {
//check if cricle reached its target
if (Math.round(circle.position.x) == target[0] && Math.round(circle.position.y) == target[1]) {
switch(target) {
case point1:
target = point2;
break;
case point2:
target = point3;
break;
case point3:
target = point1;
break;
}
// calculate the dX and dY
dX = (target[0] - circle.position.x)/steps;
dY = (target[1] - circle.position.y)/steps;
}
// do the movement
//circle.position.x += dX;
//circle.position.y += dY;
}
这里是 jsfiddle: http://jsfiddle.net/J9xgY/12/
谢谢!
【问题讨论】:
-
您的问题不清楚——您能解释一下“使用滚动条按比例跟随路径”是什么意思吗?另外,请记住,paper.js 不是移动外部
divs 的最佳工具,而是在canvas元素中显示图形。 -
基本上我想沿路径滚动一个对象。
-
你想沿着三角形路径移动圆吗?
-
是通过滚动
标签: javascript path scroll paperjs