Code
var bg = new Path.Rectangle({
size: view.bounds,
fillColor: 'black',
position: view.center
})
var clones = 8
var angle = 360 / clones
var group = new Group()
var borderCircle = new Path.Circle(view.center, 115)
borderCircle.strokeColor = 'darkblue'
borderCircle.strokeWidth = 0.2
borderCircle.opacity = 0
for (var i = 0; i < clones; i++) {
var path = new Path.Rectangle({
size: 5,
radius: 5,
strokeWidth: 0.2,
strokeColor: 'blue',
position: view.center + [0, 120],
opacity: 0
})
path.rotate(angle * i, view.center)
group.addChild(path)
}
var obj1;
var objectsGroup = new Group()
var objAround;
function onFrame(event) {
group.rotate(1)
objectsGroup.rotate(-0.03)
group.position.x = view.center.x + Math.cos(event.count * 0.04) * 50
group.position.y = view.center.y + Math.sin(event.count * 0.04) * 50
obj1 = new Path.Circle(view.center, 10)
obj1.fillColor = 'red'
objectsGroup.addChild(obj1)
obj1.scaling += 2 + 1.5 * Math.sin(event.count * 0.1)
for (var i = 0; i < group.children.length; i++) {
var object = group.children[i]
obj1.position = object.position
obj1.fillColor.hue += event.count * 0.25
}
objAround = obj1.clone()
objAround.position = obj1.position
objAround.strokeWidth = 2
objAround.scale(1.5)
objAround.fillColor = 'transparent'
objAround.strokeColor = 'blue'
objAround.strokeColor.hue = (obj1.fillColor.hue + i) - 40
objAround.opacity = 0.2
objectsGroup.addChild(objAround)
for (var i = 0; i < objectsGroup.children.length; i++) {
objectsGroup.children[i].fillColor.hue += 0.3
}
if (objectsGroup.children.length > 5) {
objectsGroup.children[0].remove()
}
}