mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2024-12-28 17:02:24 -05:00
53 lines
1.6 KiB
HTML
53 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Lines</title>
|
|
<link rel="stylesheet" href="../css/style.css">
|
|
<script type="text/javascript" src="../../dist/paper-full.js"></script>
|
|
<script type="text/paperscript" canvas="canvas">
|
|
var amount = 45;
|
|
for (var i = 0; i < amount; i++) {
|
|
var path = new Path({
|
|
fillColor: {
|
|
hue: 1,
|
|
saturation: 1,
|
|
brightness: Math.random()
|
|
},
|
|
closed: true
|
|
});
|
|
}
|
|
|
|
var position = view.center;
|
|
var mousePos = view.center;
|
|
var children = project.activeLayer.children;
|
|
|
|
function iterate(count) {
|
|
var delta = mousePos - position;
|
|
position += delta / 10;
|
|
for (var i = 1; i < amount; i++) {
|
|
var path = children[i];
|
|
var length = Math.abs(Math.sin(i + count / 40) * 300);
|
|
path.segments = [
|
|
position + delta / 1.5,
|
|
position + { angle: i / amount * 360, length: length },
|
|
position + { angle: (i + 1) / amount * 360, length: length }
|
|
];
|
|
path.fillColor.hue = count - length;
|
|
}
|
|
}
|
|
|
|
function onFrame(event) {
|
|
iterate(event.count);
|
|
}
|
|
|
|
function onMouseMove(event) {
|
|
iterate();
|
|
mousePos = event.point;
|
|
}
|
|
</script>
|
|
</head>
|
|
<body style="background:black">
|
|
<canvas id="canvas" resize></canvas>
|
|
</body>
|
|
</html>
|