Skip to main content
Firewood:D
Inspiring
May 30, 2023 1:34 PM UTC
Answered

How to ignore locked layers when selecting multi-layer operations

Select frames on multiple layers for operation. If there are locked layers in the selection, how to ignore the locked layers.

Can jsfl achieve automatic judgment?

If possible, I need some help. Thanks

This topic is closed to new replies. Start a new post to keep the conversation going.
Multoman
MultomanCorrect answer
Inspiring
May 30, 2023 3:11 PM UTC

 

var tl = fl.getDocumentDOM().getTimeline()
var sel = tl.getSelectedFrames()
for (var i = 0; i < sel.length; i += 3) {
	if (tl.layers[sel[i]].locked === true) {
		tl.setSelectedFrames([sel[i], sel[(i + 1)], sel[(i + 2)]], false)
	}
}

 

10 replies

Multoman
Inspiring
May 30, 2023 1:42 PM UTC
if(fl.getDocumentDOM().getTimeline().layers[0].locked === false){
	
	}
or do you need to write a ready script ?
Translate
Firewood:D
Inspiring
May 30, 2023 2:17 PM UTC

The effect I want to achieve is to select multiple layers and insert keyframes (or other operations), then automatically ignore locked layers (locking layers does not add keyframes (or other operations)),

Translate
Multoman
MultomanCorrect answer
Inspiring
May 30, 2023 3:11 PM UTC

 

var tl = fl.getDocumentDOM().getTimeline()
var sel = tl.getSelectedFrames()
for (var i = 0; i < sel.length; i += 3) {
	if (tl.layers[sel[i]].locked === true) {
		tl.setSelectedFrames([sel[i], sel[(i + 1)], sel[(i + 2)]], false)
	}
}

 

Translate
kglad
Community Expert
Community Expert
May 30, 2023 1:38 PM UTC

jsfl has a boolean layer.locked property.

Translate
Firewood:D
Inspiring
May 30, 2023 2:19 PM UTC

Thank you for your reply. I will continue to explore

Translate
kglad
Community Expert
Community Expert
May 30, 2023 2:22 PM UTC

you're welcome.  (just loop through any timoof interest layers to do what you want.)

Translate