mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-01-03 19:45:44 -05:00
45 lines
No EOL
1.2 KiB
HTML
45 lines
No EOL
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>Example</title>
|
|
<script type="text/javascript">var root = '../../'</script>
|
|
<script type="text/javascript" src="../../src/load.js"></script>
|
|
<script type="text/paperscript" canvas="canvas">
|
|
var path = new Path();
|
|
path.moveTo(200, 200);
|
|
path.curveTo([170, 50], [300, 200]);
|
|
path.strokeWidth = 1;
|
|
path.strokeColor = 'black';
|
|
var curve = path.curves[0];
|
|
|
|
function onMouseMove(event) {
|
|
modifyCurve(event.point, false, true);
|
|
}
|
|
|
|
function modifyCurve(point, iteratively, remove) {
|
|
curve.segment2.point = point;
|
|
var length = curve.length;
|
|
var step = 10;
|
|
var num = Math.floor(length / step);
|
|
var prev = 0;
|
|
for (var i = 0, pos = 0; i <= num; i++, pos += step) {
|
|
var t = iteratively
|
|
? curve.getParameter(step, prev)
|
|
: curve.getParameter(pos);
|
|
var point = curve.getPoint(t);
|
|
var circle = new Path.Circle(point, step / 2);
|
|
circle.strokeColor = 'red';
|
|
if (remove)
|
|
circle.removeOnMove();
|
|
prev = t;
|
|
}
|
|
}
|
|
|
|
// modifyCurve(new Point(400, 377), false, false);
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<canvas id='canvas' width=1024 height=768></canvas>
|
|
</body> |