在Framer Studio(Coffeescript)中,每当我点击一个图层时,它就会被复制到另一个图层中(如果你愿意的话,它会是一个"清单"图层)。 我试图将复制的图层添加到已单击的上一个图层的正下方。 你会怎么做? 如何获取已单击的上一层?它甚至可能吗?
非常感谢你的帮助。
致以最诚挚的问候,
答案 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