首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当LayerA和LayerB在Framerjs中结束拖动时不制作动画?

为什么当LayerA和LayerB在Framerjs中结束拖动时不制作动画?
EN

Stack Overflow用户
提问于 2015-10-06 14:55:00
回答 2查看 102关注 0票数 0

为什么LayerA和LayerB在用代码在Framerjs中结束拖动时不制作动画:

我创建layerAlayerBlayerC,然后拖动LayerC

Event DragMove中,我用LayerC的偏移量来改变LayerALayerB的道具,我总是想在EndDrag上制作动画,但是它不能工作。

有人知道为什么吗?

代码语言:javascript
复制
# 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

我是新手,请帮忙

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-20 06:56:37

您的错误在您的思想中没有什么,您只是忘了正确地使用用于layerA'slayerB's动画的layerA's代码。这就是我认为的工作例子:

http://share.framerjs.com/2mp2alhvueq4/

来自德国的问候丹尼斯

PS:根据FramerJS /FramerJS的说法,提问的最好方法是我们专用的Facebook-集团

票数 0
EN

Stack Overflow用户

发布于 2015-10-19 14:57:50

你能给出一个更好的例子来说明你想要达到的目标吗?您的代码(在修改格式之后)工作了--好吧,它正确地触发了DragEnd事件,如果偏移量小于360,则调用动画。

如果你告诉我们你正在努力实现什么,并分享框架项目,我们可以帮助你更快和更准确。

*很抱歉要求提供信息,我还不能发表评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32973140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档