2014-10-20 4 views
0

В Framer Studio (Coffeescript), всякий раз, когда я нажимаю слой, он копируется в другой (что-то вроде слоя контрольного списка, если вы это сделаете). Я пытаюсь добавить скопированный слой прямо под предыдущим, который был нажат. Как вы это сделаете? Как получить предыдущий слой, который был нажат? Возможно ли это?Framer.js: как вы получаете «предыдущий» слой?

Большое спасибо за помощь.

С уважением,

ответ

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 
+0

Большое вам спасибо за ваш ответ. – user4162166

Смежные вопросы