Alexander Deplov

Spinner v3

Spinner v3

Code

var bg = new Path.Rectangle({
    size: view.size,
    fillColor: 'black'
})

var amount = 20
var strokeWidth = 10
var waveAmplitude = 10
var waveLength = 0.1
var animationSpeed = 0.05
var padding = 20
var colorWidth = -8

var distanceFromCenter = 50 // 0

var array = []
var rootGroup = new Group()

function createPath(i, amount){

    var path = new Path.Line({
        from: [0, 0],
        to: [0, distanceFromCenter],
        strokeColor: 'blue',
        strokeWidth: strokeWidth,
        strokeCap: 'round',
        position: view.center,
        applyMatrix: false,
    })

    path.onFrame = function(event){
        this.strokeColor.hue = colorWidth * i + (-event.count * 0.5)
        this.segments[0].point.y = Math.sin(animationSpeed * event.count + i ) * waveAmplitude
    }

    
    return path
}

for (var i = 0; i < amount; i++){
    var path = createPath(i, amount)
    array.push(path)
    rootGroup.addChild(path)
    path.rotate(360 / amount * i, view.center + [0, 100])
}

rootGroup.position = view.center