2016-07-25 42 views
1

Ich verstehe Layer Namen sind nur als Objekte zugänglich. Aber gibt es eine Möglichkeit, diesen Objektnamen zu verwenden, um auch die Indexposition in einem Array zu finden? Mit anderen Worten, ich habe mehrere Ebenen in einer Datei. Ich möchte eine bestimmte Ebene finden, die Sichtbarkeit aller darüber liegenden Ebenen sperren und ändern und die Sichtbarkeit aller darunter liegenden Ebenen aufheben und ändern. Ich werde immer nach der gleichen Ebene suchen, aber die Gesamtzahl der Ebenen ändert sich von Job zu Job. Jede Hilfe würde sehr geschätzt werden!Ermitteln des Index # einer Ebene nach dem Auffinden nach dem Namen

Antwort

0

Durchlaufen Sie einfach alle Schichten und prüfen Sie, ob jeder mit Ihrem Namen übereinstimmt. Wenn er den Index speichert (aktuelle Anzahl der Schleifen).

// 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; 
    } 
}