Created
May 4, 2013 03:34
-
-
Save deckarep/5516027 to your computer and use it in GitHub Desktop.
Messing with Paper.js for the first time. Cool stuff!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The amount of circles we want to make: | |
var count = 79; | |
// Create a symbol, which we will use to place instances of later: | |
var path = new Path.Circle({ | |
center: [0, 0], | |
radius: 10, | |
fillColor: new Color(1, 1, 0, .5), | |
blendMode:'normal' | |
}); | |
var symbol = new Symbol(path); | |
// Place the instances of the symbol: | |
for (var i = 0; i < count; i++) { | |
// The center position is a random point in the view: | |
var center = Point.random() * view.size; | |
var placedSymbol = symbol.place(center); | |
placedSymbol.scale(i / count); | |
} | |
// The onFrame function is called up to 60 times a second: | |
function onFrame(event) { | |
// Run through the active layer's children list and change | |
// the position of the placed symbols: | |
for (var i = 0; i < count; i++) { | |
var item = project.activeLayer.children[i]; | |
// Move the item 1/20th of its width to the right. This way | |
// larger circles move faster than smaller circles: | |
item.position.x += item.bounds.width / 20; | |
item.position.y += Math.sin(item.position.x/8) * 5; | |
// If the item has left the view on the right, move it back | |
// to the left: | |
if (item.bounds.left > view.size.width) { | |
item.position.x = -item.bounds.width; | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment