FramerJS - Как сбросить или обновить прототип из кода, без перезагрузки?

Как сбросить прототип FramerJS программно (через код)?

Я определил слой, при нажатии которого прототип должен вернуться в исходное состояние. Я пытался использовать location.reload() но это перезагружается из сети. Как выполнить сброс без перезагрузки прототипа из сети?

1 ответ

Решение

Вы можете добиться этого, позвонив Framer.CurrentContext.reset() и восстановить свой прототип.

Чтобы упростить это, напишите весь свой установочный код внутри функции, которую вы вызываете после сброса контекста. Не забудьте также позвонить setup() функция для начальной настройки.

Пример:

setup = ->
    # Everything should go inside the setup() function
    layerA = new Layer
        backgroundColor: 'green'

    layerA.animate
        properties:
            x: Align.right

    resetButton = new Layer
        x: Align.center
        y: Align.bottom
        backgroundColor: 'red'

    resetButton.onClick ->
        Framer.CurrentContext.reset()
        #Call setup() again to recreate all layers
        setup() 

# Initial setup call
setup()

Полный прототип здесь: http://share.framerjs.com/9fl1g7icvnax/

Другие вопросы по тегам