mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2024-12-28 17:02:24 -05:00
50 lines
2.2 KiB
HTML
50 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Extruded</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 lineGroup = new Group();
|
|
var lineCount = 100;
|
|
for (var i = 0; i < lineCount; i++) {
|
|
var linePath = new Path.Line([0, 0], [0, 0]);
|
|
lineGroup.addChild(linePath);
|
|
}
|
|
lineGroup.strokeColor = 'red';
|
|
|
|
var path1 = new Path('M63.39307,265.71387c10.8667,6.96631 26.4707,12.26025 43.18896,12.26025c24.79932,0 39.28857,-13.09619 39.28857,-32.04346c0,-17.27588 -10.03125,-27.58545 -35.38721,-37.05908c-30.65088,-11.146 -49.59814,-27.30713 -49.59814,-53.49902c0,-29.25732 24.2417,-50.9917 60.74365,-50.9917c18.94727,0 33.1582,4.4585 41.23877,9.19531L156.18018,133.35986c-5.85156,-3.62256 -18.39014,-8.9165 -35.38721,-8.9165c-25.63525,0 -35.3877,15.3252 -35.3877,28.14258c0,17.5542 11.42432,26.19238 37.33789,36.22314c31.76514,12.26025 47.64795,27.58545 47.64795,55.1709c0,28.979 -21.17676,54.33496 -65.48096,54.33496c-18.11133,0 -37.89502,-5.57275 -47.92578,-12.26025z');
|
|
path1.position = view.center;
|
|
|
|
var path2 = path1.clone();
|
|
path1.scale(1.5);
|
|
path2.scale(2);
|
|
|
|
var length1 = path1.length;
|
|
var length2 = path2.length;
|
|
function onFrame(event) {
|
|
var vector = new Point({
|
|
angle: -event.count % 360,
|
|
length: 100
|
|
});
|
|
path1.rotate(-0.5);
|
|
path1.position = view.center - vector;
|
|
|
|
path2.rotate(-0.5);
|
|
path2.position = view.center + vector.normalize(50);
|
|
|
|
for (var i = 0; i < lineCount; i++) {
|
|
var path = lineGroup.children[i];
|
|
var l1 = (length1 / lineCount * (i + event.count / 10)) % length1;
|
|
var l2 = (length2 / lineCount * (i + event.count / 10)) % length2;
|
|
path.firstSegment.point = path1.getPointAt(l1),
|
|
path.lastSegment.point = path2.getPointAt(l2);
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<canvas id="canvas" resize></canvas>
|
|
</body>
|
|
</html>
|