Framer.js: как получить координаты касания

Я пишу функцию Framer.js для имитации эффекта "всплеска" при нажатии кнопки или слоя, в соответствии с Google Material Design.

Это выглядит примерно так

tapSplash = (tapX,tapY) ->
   tapSplashLayer = new layer
       backgroundColor: "#ffffff"
       opacity: 0.2
       width: 500, height: 1500
       borderRadius: 1500
       midX: tapX
       midY: tapY

После этого у меня есть код для запуска анимации.

У меня вопрос, как мне получить координаты tapX и tapY? Недостаточно использовать среднюю точку слоя, по которому щелкнули / коснулись, - я хочу, чтобы анимация начиналась именно с той точки, на которую нажал пользователь

1 ответ

Решение

Проверьте свой ответ на вопрос. С тех пор я раздвоил его и внес изменения, чтобы касания на компьютере или касания на мобильном устройстве распознавались отдельно. https://github.com/carignanboy1/Material-Design-Interactions/tree/improved-touch

touchEvent = Events.touchEvent(event)

if Utils.isPhone() || Utils.isTablet()
        tX = touchEvent.clientX - layer.x
        tY = touchEvent.clientY - layer.y
    else
        tX = touchEvent.offsetX
        tY = touchEvent.offsetY
Другие вопросы по тегам