在 Framer Studio (Coffeescript) 中,每当我单击一个图层时,它都会被复制到另一个图层中(如果你愿意的话,这是一种“清单”图层)。我正在尝试在已单击的前一个图层的正下方附加一个复制图层。你会怎么做?如何获取已点击的上一层?甚至可能吗?
非常感谢您的帮助。
最好的祝福,
在 Framer Studio (Coffeescript) 中,每当我单击一个图层时,它都会被复制到另一个图层中(如果你愿意的话,这是一种“清单”图层)。我正在尝试在已单击的前一个图层的正下方附加一个复制图层。你会怎么做?如何获取已点击的上一层?甚至可能吗?
非常感谢您的帮助。
最好的祝福,
我认为可以通过两种方式。
第一种方法是使用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