source: main/trunk/model-sites-dev/von-sparql/js/paper/examples/Animated/AnimatedStar.html@ 28914

Last change on this file since 28914 was 28914, checked in by ak19, 10 years ago

Supporting javascript libraries and bespoke code written by Steffan to support the von-sparql user interface

File size: 1.2 KB
RevLine 
[28914]1<!DOCTYPE html>
2<html>
3<head>
4 <meta charset="UTF-8">
5 <title>Animated Star</title>
6 <link rel="stylesheet" href="../css/style.css">
7 <script type="text/javascript" src="../../dist/paper.js"></script>
8 <script type="text/paperscript" canvas="canvas">
9 var layer = project.activeLayer;
10
11 var values = {
12 count: 34,
13 points: 32
14 };
15
16 for (var i = 0; i < values.count; i++) {
17 var path = new Path({
18 fillColor: i % 2 ? 'red' : 'black',
19 closed: true
20 });
21
22 var offset = new Point(20 + 10 * i, 0);
23 var l = offset.length;
24 for (var j = 0; j < values.points * 2; j++) {
25 offset.angle += 360 / values.points;
26 var vector = offset.normalize(l * (j % 2 ? 0.1 : -0.1));
27 path.add(offset + vector);
28 }
29 path.smooth();
30 layer.insertChild(0, new Group({
31 children: [path],
32 transformContent: false
33 }));
34 }
35
36 function onFrame(event) {
37 for (var i = 0; i < values.count; i++) {
38 var item = layer.children[i];
39 var angle = (values.count - i) * Math.sin(event.count / 128) / 10;
40 item.rotate(angle);
41 }
42 }
43
44 // Reposition the paths whenever the window is resized:
45 function onResize(event) {
46 layer.position = view.center;
47 }
48 </script>
49</head>
50<body>
51 <canvas id="canvas" resize stats hidpi="off"></canvas>
52</body>
53</html>
Note: See TracBrowser for help on using the repository browser.