Как сделать бесконечный цикл анимации с помощью CoffeeScript в Framer.js?

Я пытаюсь сделать простую пульсирующую анимацию экранного элемента в Framer.js, и теперь она выглядит так:

element.animate
    properties: scale:1.3
element.on Events.AnimationEnd,->
    this.scale = 1
    locationUn.animate
        properties: scale:1.3

в основном, когда экран загружается, элемент будет увеличен, а по окончании анимации он вернется к масштабу 1 и снова запустит анимацию; но это решение не элегантно и анимация кажется очень резкой.

Я новичок в CoffeeScript... можно ли вообще написать бесконечный цикл для проверки некоторых условий, подобных этому?

checker = true

while(checker == true){
    run animation
    if(some events occurs){
        checker = false
    }
}
....

Как это реализовать в CoffeeScript?


person Rexroth    schedule 31.01.2015    source источник
comment
есть ли причина, по которой вы ожидаете, что в coffeescript это будет отличаться от javascript? Ваш кофейный скрипт выше выглядит нормально и будет работать так, как ожидалось.   -  person Jed Schneider    schedule 31.01.2015
comment
Пульсирующая анимация работает, но анимация очень резкая (перескакивает со шкалы 1,3 сразу на 1 без перехода). Я ищу общий способ написания бесконечного цикла, чтобы, надеюсь, сделать его гладким.   -  person Rexroth    schedule 01.02.2015


Ответы (1)


Вы можете создать циклический импульс следующим образом:

circle = new Layer()
circle.style.borderRadius = "100%"
circle.backgroundColor = "white"
circle.center()

outwards = new Animation({
    layer: circle,
    properties: {scale: 1.3},
    curve: "ease-in-out"
})

inwards = outwards.reverse()

outwards.on(Events.AnimationEnd, inwards.start)
inwards.on(Events.AnimationEnd, outwards.start)

outwards.start()
person Doug Proctor    schedule 24.02.2015
comment
Спасибо! Я не знал, что тоже могу объективировать анимацию. - person Rexroth; 25.02.2015