VcrControlSensor { eventIn SFTime set_duration eventIn SFFloat set_fraction eventIn SFBool set_loop eventIn SFBool set_play field SFTime duration 1.0 # (0, ∞) field SFFloat fraction 0.0 # [0, ∞) field SFBool loop FALSE field SFBool play FALSE eventOut SFTime cycleTime eventOut SFTime duration_changed eventOut SFFloat fraction_changed eventOut SFBool isActive eventOut SFBool loop_changed eventOut SFBool play_changed eventOut SFTime time }
The VcrControlSensor
is a drop-in replacement for a TimeSensor
which can be paused and resumed arbitrarily.
The duration
field specifies the duration, in seconds, for the behavior the VcrControlSensor
will be driving. The fraction
field sets the fraction of the behavior that should have elapsed prior to playing. If loop
is TRUE
, the behavior will restart from the beginning and repeat after it has reached the end of its duration
.
When play
is TRUE
, the behavior will play; when FALSE
, the behavior is paused.
While play
is TRUE
, the VcrControlSensor
will continue sending fraction_changed
events. If the VcrControlSensor
receives FALSE
via set_play
, it will suspend sending fraction_changed
events. If it then subsequently receives TRUE
via set_play
, it will resume sending fraction_changed
events wherever it left off.
If the VcrControlSensor
reaches the end of its duration, and loop is set to FALSE
, play will be set to FALSE
.
The PROTO
, inlined, gzipped, and ready to serve.
The source files.