Ik ben bezig om met cakejs een animatie te maken die een aantal random cirkels maakt en die ook een random beweging geeft. Het maken gaat prima, alleen zijn alle cirkels aan elkaar gelinkt. Ik ben al een aantal dagen aan het zoeken op google, stackoverflow en tweakers, maar ik kan nu niet echt relevante oplossingen vinden.
de code in kwestie:
Ik heb al geprobeerd om met het this keyword in de for loop apparte objecten te maken, en een referentie aan de array (circle[i]) maar ze blijven allemaal de zelfde snelheid houden. Overigens heb ik een stuk van de switch afgehaald met het posten om het wat korter te maken.
de code in kwestie:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| window.onload = function() { // create a cakejs canvas with the size and with of the browser window var CAKECanvas = new Canvas(document.body, viewportWidth, viewportHeight); // create 50 random cicles for (var i=0; i < 50; i++) { var velocity = Math.random()*10; circle[i] = new Circle(Math.floor(Math.random()*20), { id: 'circle' + i, x: Math.floor(Math.random()*viewportWidth), y: Math.floor(Math.random()*viewportHeight), fill: get_random_color(), endAngle: Math.PI*2 } ); CAKECanvas.append(circle[i]); function check_bounds() { if (this.y >= viewportHeight) { direction = "down"; } else if (this.y <= -10 ){ direction = "up"; } else if (this.x >= viewportWidth){ direction = "right"; } else if (this.x <= -10 ){ direction = "left"; } } circle[i].addFrameListener( function(t, dt) { switch (direction) { case "up": this.x += velocity; this.y -= 1; check_bounds(); break; } } ); } }; |
Ik heb al geprobeerd om met het this keyword in de for loop apparte objecten te maken, en een referentie aan de array (circle[i]) maar ze blijven allemaal de zelfde snelheid houden. Overigens heb ik een stuk van de switch afgehaald met het posten om het wat korter te maken.
The fear that keeps me going and going and going. Is the same fear that brings me to my knees