Copy link to clipboard
Copied
Hi
I wanted to change shapes' stroke thickness of all symbols at once.
Using following script somehow only changes thickness on 1st frame of a symbol.
What I think I need is to get the length of a layer and make function repeat.
When I tried (var i = 0; i<3; i++) it worked fine.
I am a newbie to JSFL. Can anyone help?
var stroke_width = 1.6;
var scale_Type = "none";
fl.trace("Changing all strokes width to " + stroke_width);
function changeStroke(element, width, scale)
{
if (element.elementType == "shape") {
var stroke = element.getCustomStroke();
stroke.thickness = width;
stroke.scaleType = scale;
element.setCustomStroke(stroke);
// recurse for groups
for (var iSubE in element.members) {
var sub_element = element.members[iSubE];
changeStroke(sub_element, width, scale);
}
}
}
var libItems = fl.getDocumentDOM().library.items;
for (var item_it in libItems)
{
var item = libItems[item_it];
if (item == undefined || item.symbolType == undefined)
{
continue;
}
var timeline = item.timeline;
var tlArray = fl.getDocumentDOM().getTimeline().getSelectedLayers();
for (var layer_it in timeline.layers)
{
for (var i = 0; i<tlArray.length; i++)
{
var layer = timeline.layers[layer_it];
var frame = layer.frames;
for (var element_it in frame.elements)
{
var frame = layer.frames;
}
for (var element_it in frame.elements)
{
var element = frame.elements[element_it];
changeStroke(element, stroke_width, scale_Type);
}
}
}
}
This gives you the length of a particular layer :
var layerIndex = 0;
fl.getDocumentDOM().getTimeline().layers[layerIndex].frames.length;
This shows max frames including all the layers in timeline:
fl.getDocumentDOM().getTimeline().frameCount;
Copy link to clipboard
Copied
This gives you the length of a particular layer :
var layerIndex = 0;
fl.getDocumentDOM().getTimeline().layers[layerIndex].frames.length;
This shows max frames including all the layers in timeline:
fl.getDocumentDOM().getTimeline().frameCount;