Framer Studio (Coffeescript) では、レイヤーをクリックするたびに別のレイヤーにコピーされます (「チェックリスト」レイヤーのようなものです)。前にクリックしたレイヤーのすぐ下に、コピーしたレイヤーを追加しようとしています。どうやってそれをしますか?クリックされた前のレイヤーを取得するにはどうすればよいですか? それは可能ですか?
ご助力ありがとうございます。
よろしくお願いします、
Framer Studio (Coffeescript) では、レイヤーをクリックするたびに別のレイヤーにコピーされます (「チェックリスト」レイヤーのようなものです)。前にクリックしたレイヤーのすぐ下に、コピーしたレイヤーを追加しようとしています。どうやってそれをしますか?クリックされた前のレイヤーを取得するにはどうすればよいですか? それは可能ですか?
ご助力ありがとうございます。
よろしくお願いします、
2つの方法で可能だと思います。
最初の方法は使用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