You need to set a keyframe first and then give the loop attribute. The normal operation is to select all three symbols after setting a keyframe, but I only need to select symbol 1, and only control symbol 1 after setting a keyframe, instead of selecting it after setting a keyframe. Three symbols control.
This is possible when auto keyframing is activated
"...but I only need to select symbol 1, and only control symbol 1 after setting a keyframe..."
Alright, what's stopping you from doing it?
You just need to find a way to distinguish "symbol 1" - either by libraryItem, by name, or by index within the layer itself. Once you know the element of the "symbol 1", you can deselect all, select the proper element and set the properties you want.
var mySymbolName = "yellow triangle" // Example
var doc = fl.getDocumentDOM();
var tml = doc.getTimeline();
var myLayer = tml.layers[ tml.currentLayer ];
var myElement = getElementByName( myLayer.frames[ tml.currentFrame ], mySymbolName );
if( myElement ){
doc.selectNone();
myElement.selected = true;
myElement.loop = "single frame";
myElement.firstFrame = 0; // Or something else
}
function getElementByName( frameObj, symbolName ){
for( var i = 0; i < frameObj.elements.length; i++ ){
if( ! frameObj.elements[i].libraryItem ) continue;
if( frameObj.elements[i].libraryItem.name.split("/").pop() === symbolName ){
return frameObj.elements[i];
}
}
return null;
}
Just save this code as a command, assign it a keyboard shortcut and keep executing the command each time after setting a new keyframe.