v3.0
Returns the number of keys within the interval defined by the StartFrame and EndFrame. The default interval is the entire fcurve.
Int32 FCurve.GetNumKeys( Object in_StartFrame, Object in_EndFrame ); |
oLong = FCurve.GetNumKeys( [StartFrame], [EndFrame] ); |
| Parameter | Type | Description |
|---|---|---|
| StartFrame | Variant | The start time in frames of the interval.
Default Value: The frame of the first key |
| EndFrame | Variant | The end time in frames of the interval.
Default Value: The frame of the last key |
/*
This JScript example illustrates how to use the FCurve.GetNumKeys method
to determine the number of keys within a specified interval.
*/
// Create a null
Application.NewScene( null, false );
var nullobj = ActiveSceneRoot.AddNull();
// Create an fcurve on the posx parameter from the null
var fc = nullobj.posx.AddFCurve()
// Define some random keys
var nbkeys = Math.round( Math.random() * 200 );
var arraysize = nbkeys * 2;
var keys = new Array( 2 * nbkeys );
var i = 0;
var offset = -50;
for ( i=0; i<arraysize; i+=2 )
{
keys[i] = Math.round( offset + Math.random( ) * 100 );
keys[i+1] = offset + Math.random() * 100;
}
// Set the keys on the fcurve
fc.SetKeys( keys );
LogMessage( "total number of keys = " + fc.GetNumKeys() );
// For each 10 frames determine how many keys are in the interval
var frame, nextframe, endframe, offset;
frame = fc.GetKeyFrame(0);
endframe = fc.GetKeyFrame( fc.GetNumKeys() - 1 );
offset = 10;
while ( frame < endframe )
{
nextframe = frame + offset;
var ckeys = fc.GetNumKeys( frame, nextframe );
if ( ckeys > 1 )
{
LogMessage( ckeys + " keys between frames " + frame + " and " + nextframe );
}
frame = nextframe;
}
// Output:
//INFO : total number of keys = 78
//INFO : 10 keys between frames -50 and -40
//INFO : 6 keys between frames -40 and -30
//INFO : 9 keys between frames -30 and -20
//INFO : 6 keys between frames -20 and -10
//INFO : 9 keys between frames -10 and 0
//INFO : 10 keys between frames 0 and 10
//INFO : 9 keys between frames 10 and 20
//INFO : 7 keys between frames 20 and 30
//INFO : 11 keys between frames 30 and 40
//INFO : 8 keys between frames 40 and 50
|