mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-01-03 19:45:44 -05:00
49 lines
No EOL
1.3 KiB
HTML
49 lines
No EOL
1.3 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">
|
|
// Adapted from the following Processing example:
|
|
// http://processing.org/learning/topics/follow3.html
|
|
|
|
var path = new Path();
|
|
path.strokeColor = 'purple';
|
|
path.strokeWidth = 20;
|
|
path.strokeCap = 'round';
|
|
var size = 20,
|
|
segments = path.segments,
|
|
center = document.bounds.center;
|
|
for (var i = 0; i < size; i++)
|
|
path.add(center + new Point(i * 100, 0));
|
|
|
|
function onMouseMove(event) {
|
|
segments[0].point = event.point;
|
|
for (var i = 0; i < size - 1; i++) {
|
|
var nextSegment = segments[i + 1];
|
|
var position = path.segments[i].point;
|
|
var angle = (position - nextSegment.point).angle;
|
|
var vector = new Point({ angle: angle, length: 25 });
|
|
nextSegment.point = position - vector;
|
|
}
|
|
path.smooth();
|
|
}
|
|
|
|
function onMouseDrag(event) {
|
|
onMouseMove(event);
|
|
}
|
|
|
|
function onMouseDown(event) {
|
|
path.selected = true;
|
|
}
|
|
|
|
function onMouseUp(event) {
|
|
path.selected = false;
|
|
}
|
|
</script>
|
|
</head>
|
|
<body style='background-color: black'>
|
|
<canvas id='canvas' width=1024 height=768></canvas>
|
|
</body> |