Framer.js:你怎么得到"之前的"层?

时间:2014-10-20 16:36:09

标签: javascript coffeescript framerjs

在Framer Studio(Coffeescript)中,每当我点击一个图层时,它就会被复制到另一个图层中(如果你愿意的话,它会是一个"清单"图层)。 我试图将复制的图层添加到已单击的上一个图层的正下方。 你会怎么做? 如何获取已单击的上一层?它甚至可能吗?

非常感谢你的帮助。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

我认为可能有两种方式。

第一种方法是使用subLayers,并且子层列表依赖于添加时间。

bg = new BackgroundLayer
upper = new Layer
    width: 750, backgroundColor: "red", superLayer: bg
lower = new Layer
    width: 750, y: 100,     backgroundColor: "blue", superLayer: bg

lower.on Events.Click, (e, layer) ->
    parent = layer.superLayer
    index = parent.subLayers.indexOf layer
    prev = parent.subLayers[index-1] if ~index
    print prev

另一种方式更简单。将图层存储到数组中,然后在其中找到。

layers = [new Layer, new Layer(x:150)]
layers[1].on Events.Click, (e, layer) ->
    index = layers.indexOf layer
    prev = layers[index-1] if ~index
    print prev