2016-07-25 11 views
1

Я понимаю, что имена слоев доступны только как объекты. Но есть ли способ использовать это имя объекта для поиска позиции индекса в массиве? Другими словами, у меня есть несколько слоев в файле. я хочу найти определенный слой, заблокировать и изменить видимость всех слоев над ним, а также разблокировать и изменить видимость всех нижележащих слоев. Я всегда буду искать один и тот же слой, но общий счет слоя меняется с задания на работу. Любая помощь приветствуется!Поиск индекса # слоя после его определения по имени

ответ

0

Просто пройдите по всем слоям и проверьте, соответствует ли каждое ваше имя .. если оно сохраняет индекс (текущий счетчик цикла).

// get index (from top layer down) of named layer... expects only one layer with this name 
// name of layer you are looking for 
var targetLayerName = 'name' 

var targetDocument = app.activeDocument; 
var layerCount = targetDocument.layers.length; 
var namedLayerIndex = 0; 
// loop through layers and find the named layer 
for (i = 0; i < layerCount; i++) { 
    if (targetDocument.layers[i].name == targetLayerName) { 
     namedLayerIndex = i; 
    } 
}