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