Skip to main content
Known Participant
September 14, 2022
Answered

delete entire column of keyframes.jsfl How to achieve?

  • September 14, 2022
  • 1 reply
  • 385 views

delete entire column of keyframes.jsfl How to achieve?

This topic has been closed for replies.
Correct answer Vladin M. Mitov

Hi,

Here is an example that clears all keyframes at the current frame:

(function(){

	var isKeyFrame = function( fr, fn ){
		return ( fr.startFrame === fn );		
	};
	
	var doc = fl.getDocumentDOM(),
		tml = doc.getTimeline(), i, xframe,
		cf = tml.currentFrame, cf1 = cf + 1,
		tmlSel = [];

		
	for( i = 0; i < tml.layers.length; i++ ){
		xframe = tml.layers[ i ].frames[ cf ];
		if( ! xframe ) continue;
		if( ! isKeyFrame( xframe, cf ) ) continue;
		tmlSel.push( i, cf, cf1 );
	}
	
	tml.setSelectedFrames( tmlSel, true );
	tml.clearKeyframes();

})();



1 reply

kqskcmAuthor
Known Participant
September 14, 2022

// select all an.getDocumentDOM().selectAll(); // Clear keyframes an.getDocumentDOM().getTimeline().clearKeyframes();

This code requires manual selection of all keyframes

Vladin M. Mitov
Vladin M. MitovCorrect answer
Inspiring
September 14, 2022

Hi,

Here is an example that clears all keyframes at the current frame:

(function(){

	var isKeyFrame = function( fr, fn ){
		return ( fr.startFrame === fn );		
	};
	
	var doc = fl.getDocumentDOM(),
		tml = doc.getTimeline(), i, xframe,
		cf = tml.currentFrame, cf1 = cf + 1,
		tmlSel = [];

		
	for( i = 0; i < tml.layers.length; i++ ){
		xframe = tml.layers[ i ].frames[ cf ];
		if( ! xframe ) continue;
		if( ! isKeyFrame( xframe, cf ) ) continue;
		tmlSel.push( i, cf, cf1 );
	}
	
	tml.setSelectedFrames( tmlSel, true );
	tml.clearKeyframes();

})();



- Vlad: UX and graphic design, Flash user since 1998Member of Flanimate Power Tools team - extensions for character animation
kqskcmAuthor
Known Participant
September 14, 2022

Perfect