0

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

非常感谢您的帮助。

最好的祝福,

4

1 回答 1

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
于 2014-11-07T11:21:37.563 回答