为什么LayerA和LayerB在用代码在Framerjs中结束拖动时不制作动画:
我创建layerA、layerB和layerC,然后拖动LayerC。
在Event DragMove中,我用LayerC的偏移量来改变LayerA和LayerB的道具,我总是想在EndDrag上制作动画,但是它不能工作。
有人知道为什么吗?
# Create layer
layerA = new Layer
x: 50
y: 200
scale: 0.8
width: 550
height: 600
opacity: 0.6
borderRadius: 8
backgroundColor: "#ffffff"
layerB = new Layer
x: 50
y: 250
scale: 0.9
opacity: 0.8
width: 550
height: 600
borderRadius: 8
backgroundColor: "#ffffff"
layerC = new Layer
x: 50
y: 300
scale: 1
width: 550
height: 600
borderRadius: 8
backgroundColor: "#ffffff"
layerC.draggable.enabled = true
layerC.draggable.horizontal = false
layerC.draggable.constraints =
x: 50
y: 300
width: 550
height: 600
layerC.on Events.DragMove, ->
print layerC.draggable.constraintsOffset
layerA.opacity = 0.6 + 0.2 * layerC.draggable.constraintsOffset.y / 360
layerA.scale = 0.8 + 0.1 * layerC.draggable.constraintsOffset.y / 360
layerA.y = 200 + 50 * layerC.draggable.constraintsOffset.y / 360
layerB.opacity = 0.8 + 0.2 * layerC.draggable.constraintsOffset.y / 360
layerB.scale = 0.9 + 0.1 * layerC.draggable.constraintsOffset.y / 360
layerB.y = 250 + 50 * layerC.draggable.constraintsOffset.y / 360
layerC.on Events.DragEnd, ->
print layerC.draggable.constraintsOffset
if layerC.draggable.constraintsOffset.y < 360
layerC.animate
properties:
opacity: 1
scale: 1
y: 300
curve: "ease"
time: 0.4
layerA.animate
properties:
opacity: 0.6
scale: 0.8
y: 200
curve: "ease"
time: 0.4
layerB.animate
properties:
opacity: 0.8
scale: 0.9
y: 250
curve: "ease"
time: 0.4我是新手,请帮忙
发布于 2015-10-20 06:56:37
您的错误在您的思想中没有什么,您只是忘了正确地使用用于layerA's和layerB's动画的layerA's代码。这就是我认为的工作例子:
http://share.framerjs.com/2mp2alhvueq4/
来自德国的问候丹尼斯
PS:根据FramerJS /FramerJS的说法,提问的最好方法是我们专用的Facebook-集团。
发布于 2015-10-19 14:57:50
你能给出一个更好的例子来说明你想要达到的目标吗?您的代码(在修改格式之后)工作了--好吧,它正确地触发了DragEnd事件,如果偏移量小于360,则调用动画。
如果你告诉我们你正在努力实现什么,并分享框架项目,我们可以帮助你更快和更准确。
*很抱歉要求提供信息,我还不能发表评论。
https://stackoverflow.com/questions/32973140
复制相似问题