【发布时间】:2016-01-10 19:41:27
【问题描述】:
【问题讨论】:
【问题讨论】:
以下是 Chris Aga 在 Framer.js Facebook 群组中发布的示例:http://share.framerjs.com/78aqs01eogh9/
所以你要做的是,首先检查长按:
screen.on Events.TouchStart, (event) ->
isHeld = true
Utils.delay .25, () ->
if isHeld then triggerLongHold(event)
为了标准化鼠标和触摸事件坐标,我们使用了Pointer Module。因此,您需要在项目中包含该模块。 之后将放大镜层移动到长按发生的位置:
triggerLongHold = (event) ->
mask.opacity = 1
shadow.opacity = 1
pointerValues = Pointer.screen(event, screen)
mask.x = pointerValues.x - mask.width / 2
mask.y = pointerValues.y - mask.height
bgMagnified.x = -2 * pointerValues.x + 140
bgMagnified.y = -2 * pointerValues.y + 120
并在用户移动手指/鼠标时更新其位置:
screen.on Events.TouchMove, (event) ->
if isHeld
pointerValues = Pointer.screen(event, screen)
mask.x = pointerValues.x - mask.width / 2
mask.y = pointerValues.y - mask.height
bgMagnified.x = -2 * pointerValues.x + 140
bgMagnified.y = -2 * pointerValues.y + 120
希望这能让你开始!
【讨论】: