Class TPlayAnimationParameters

Unit

Declaration

type TPlayAnimationParameters = class(TObject)

Description

Parameters to use when playing animation, see TCastleSceneCore.PlayAnimation.

Hierarchy

  • TObject
  • TPlayAnimationParameters

Overview

Fields

Public Name: string;
Public Loop: boolean;
Public Forward: boolean;
Public StopNotification: TStopAnimationEvent;
Public TransitionDuration: TFloatTime;
Public InitialTime: TFloatTime;

Methods

Public constructor Create;

Description

Fields

Public Name: string;

Animation name. You have to set at least this field, otherwise calling TCastleSceneCore.PlayAnimation with this is useless.

Public Loop: boolean;

Should we play in a loop, default False which means to play just once.

Public Forward: boolean;

Does animation play forward, default True.

Public StopNotification: TStopAnimationEvent;

Notification when the animation finished playing, which happens if the animation was non-looping and it reached the end, or another animation was started by TCastleSceneCore.PlayAnimation.

This will never fire if the animation did not exist (PlayAnimation returned False). It also may never fire if the scene was destroyed or rebuilt (TCastleSceneCore.ChangedAll) during the animation playing.

Listening on this notification is usually simpler and more reliable then explicitly adding a notification to TTimeSensorNode.EventIsActive, e.g. by CurrentAnimation.EventIsActive.AddNotification. It avoids corner cases when PlayAnimation restarts playing the current animation. This notification will happen when the animation that you caused (by the call to TCastleSceneCore.PlayAnimation) stops, not at other times.

Public TransitionDuration: TFloatTime;

Time, in seconds, when this animation fades-in (and the previous animation, if any, fades-out). See https://castle-engine.io/wp/2018/03/21/animation-blending/

Public InitialTime: TFloatTime;

Start new animation at given moment in animation. Allows to start animation from the middle, not necessarily from the start.

Note that animation blending (TransitionDuration) starts from the moment you called the PlayAnimation, i.e. from InitialTime, not from 0. In other words, animation will enter smoothly (cross-fade), regardless of InitialTime.

Methods

Public constructor Create;
 

Generated by PasDoc 0.15.0.