@Override
    public void internalUpdate(float tpf) {
        if (playState == PlayState.Playing) {
            time = time + (tpf * speed);
            onUpdate(tpf);
            if (time >= initialDuration && loopMode == LoopMode.DontLoop) {
                stop();
            } else if (time >= initialDuration && loopMode == LoopMode.Loop) {
                setTime(0);
            } else {
                time = AnimationUtils.clampWrapTime(time, initialDuration, loopMode);
                if (time < 0) {
                    speed = -speed;
                    time = -time;
                }
            }
        }

    }
Used internally only.
@param tpf time per frame.
jme3-core/src/main/java/com/jme3/cinematic/events/AbstractCinematicEvent.java