Compartir a través de


CAnimationGroup (clase)

Implementa un grupo de animación, que combina un guion gráfico de animación, objetos de animación y transiciones para definir una animación.

Sintaxis

class CAnimationGroup;

Miembros

Constructores públicos

Nombre Descripción
CAnimationGroup::CAnimationGroup Construye un grupo de animación.
CAnimationGroup::~CAnimationGroup El destructor . Se lo llama cuando se destruye un grupo de animación.

Métodos públicos

Nombre Descripción
CAnimationGroup::Animate Anima un grupo.
CAnimationGroup::ApplyTransitions Aplica transiciones a objetos de animación.
CAnimationGroup::FindAnimationObject Busca un objeto de animación que contiene la variable de animación especificada.
CAnimationGroup::GetGroupID Devuelve el valor GroupID.
CAnimationGroup::RemoveKeyframes Quita y, opcionalmente, destruye todos los fotogramas clave que pertenecen a un grupo de animación.
CAnimationGroup::RemoveTransitions Quita las transiciones de los objetos de animación que pertenecen a un grupo de animación.
CAnimationGroup::Schedule Programa una animación a la hora especificada.
CAnimationGroup::SetAutodestroyTransitions Indica a todos los objetos de animación que pertenecen al grupo que destruyan automáticamente las transiciones.

Métodos protegidos

Nombre Descripción
CAnimationGroup::AddKeyframes Asistente que agrega fotogramas clave a un guion gráfico.
CAnimationGroup::AddTransitions Asistente que agrega transiciones a un guion gráfico.
CAnimationGroup::CreateTransitions Asistente que crea objetos de transición COM.

Miembros de datos públicos

Nombre Descripción
CAnimationGroup::m_bAutoclearTransitions Especifica cómo borrar las transiciones de los objetos de animación que pertenecen al grupo. Si este miembro es TRUE, las transiciones se quitan automáticamente cuando se ha programado una animación. De lo contrario, debe quitar manualmente las transiciones.
CAnimationGroup::m_bAutodestroyAnimationObjects Especifica cómo destruir objetos de animación. Si este parámetro es TRUE, los objetos de animación se destruirán automáticamente cuando se destruya el grupo. De lo contrario, los objetos de animación se deben destruir manualmente. El valor predeterminado es FALSE. Establezca este valor en TRUE solo si todos los objetos de animación que pertenecen al grupo se asignan dinámicamente con el operador new.
CAnimationGroup::m_bAutodestroyKeyframes Especifica cómo destruir fotogramas clave. Si este valor es TRUE, se quitan y destruyen todos los fotogramas clave; de lo contrario, solo se quitan de la lista. El valor predeterminado es TRUE.
CAnimationGroup::m_lstAnimationObjects Contiene una lista de objetos de animación.
CAnimationGroup::m_lstKeyFrames Contiene una lista de fotogramas clave.
CAnimationGroup::m_pStoryboard Apunta al guion gráfico de animación. Este puntero solo es válido después de llamarlo en Animate.

Miembros de datos protegidos

Nombre Descripción
CAnimationGroup::m_nGroupID Identificador único del grupo de animación.
CAnimationGroup::m_pParentController Puntero al controlador de animación al que pertenece este grupo.

Comentarios

Los grupos de animación se crean automáticamente mediante el controlador de animación (CAnimationController) cuando se agregan objetos de animación mediante CAnimationController::AddAnimationObject. Un grupo de animación se identifica mediante GroupID, que se suele tomar como parámetro para manipular grupos de animación. El valor GroupID se toma del primer objeto de animación que se agrega a un grupo de animación nuevo. Se crea un guion gráfico de animación encapsulado después de llamar a CAnimationController::AnimateGroup y se puede acceder a él a través del miembro público m_pStoryboard.

Jerarquía de herencia

CAnimationGroup

Requisitos

Encabezado: afxanimationcontroller.h

CAnimationGroup::~CAnimationGroup

El destructor . Se lo llama cuando se destruye un grupo de animación.

~CAnimationGroup();

CAnimationGroup::AddKeyframes

Asistente que agrega fotogramas clave a un guion gráfico.

void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);

Parámetros

pStoryboard
Puntero a un objeto COM de guion gráfico.

bAddDeep
Especifica si este método debe agregarse a los fotogramas clave del guion gráfico que dependen de otros fotogramas clave.

CAnimationGroup::AddTransitions

Asistente que agrega transiciones a un guion gráfico.

void AddTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parámetros

pStoryboard
Puntero a un objeto COM de guion gráfico.

bDependOnKeyframes

CAnimationGroup::Animate

Anima un grupo.

BOOL Animate(
    IUIAnimationManager* pManager,
    IUIAnimationTimer* pTimer,
    BOOL bScheduleNow);

Parámetros

pManager
pTimerbScheduleNow

Valor devuelto

TRUE si este método se realiza correctamente; de lo contrario, FALSE.

Comentarios

Este método crea un guion gráfico interno, crea y aplica transiciones y programa una animación si bScheduleNow es TRUE. Si bScheduleNow es FALSE, debe llamar a Schedule para iniciar la animación a la hora especificada.

CAnimationGroup::ApplyTransitions

Aplica transiciones a objetos de animación.

void ApplyTransitions();

Comentarios

Este método SE AFIRMA en modo de depuración si no se ha creado el guion gráfico. Crea primero todas las transiciones y, luego, agrega fotogramas clave "estáticos" (fotogramas clave que dependen de desplazamientos), agrega transiciones que no dependen de fotogramas clave, agrega fotogramas clave en función de las transiciones y otros fotogramas clave y, por último, agrega transiciones que dependen de fotogramas clave.

CAnimationGroup::CAnimationGroup

Construye un grupo de animación.

CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);

Parámetros

pParentController
Puntero al controlador de animación que crea un grupo.

nGroupID
Especifica el valor GroupID.

CAnimationGroup::CreateTransitions

Asistente que crea objetos de transición COM.

BOOL CreateTransitions();

Valor devuelto

TRUE si este método se realiza correctamente; de lo contrario, FALSE.

CAnimationGroup::FindAnimationObject

Busca un objeto de animación que contiene la variable de animación especificada.

CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);

Parámetros

pVariable
Puntero a la variable de animación.

Valor devuelto

Puntero al objeto de animación, o bien NULL si no se encuentra el objeto de animación.

CAnimationGroup::GetGroupID

Devuelve el valor GroupID.

UINT32 GetGroupID() const;

Valor devuelto

Un identificador de grupo.

CAnimationGroup::m_bAutoclearTransitions

Especifica cómo borrar las transiciones de los objetos de animación que pertenecen al grupo. Si este miembro es TRUE, las transiciones se quitan automáticamente cuando se ha programado una animación. De lo contrario, debe quitar manualmente las transiciones.

BOOL m_bAutoclearTransitions;

CAnimationGroup::m_bAutodestroyAnimationObjects

Especifica cómo destruir objetos de animación. Si este parámetro es TRUE, los objetos de animación se destruirán automáticamente cuando se destruya el grupo. De lo contrario, los objetos de animación se deben destruir manualmente. El valor predeterminado es FALSE. Establezca este valor en TRUE solo si todos los objetos de animación que pertenecen al grupo se asignan dinámicamente con el operador new.

BOOL m_bAutodestroyAnimationObjects;

CAnimationGroup::m_bAutodestroyKeyframes

Especifica cómo destruir fotogramas clave. Si este valor es TRUE, se quitan y destruyen todos los fotogramas clave; de lo contrario, solo se quitan de la lista. El valor predeterminado es TRUE.

BOOL m_bAutodestroyKeyframes;

CAnimationGroup::m_lstAnimationObjects

Contiene una lista de objetos de animación.

CObList m_lstAnimationObjects;

CAnimationGroup::m_lstKeyFrames

Contiene una lista de fotogramas clave.

CObList m_lstKeyFrames;

CAnimationGroup::m_nGroupID

Identificador único del grupo de animación.

UINT32 m_nGroupID;

CAnimationGroup::m_pParentController

Puntero al controlador de animación al que pertenece este grupo.

CAnimationController* m_pParentController;

CAnimationGroup::m_pStoryboard

Apunta al guion gráfico de animación. Este puntero solo es válido después de llamarlo en Animate.

ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;

CAnimationGroup::RemoveKeyframes

Quita y, opcionalmente, destruye todos los fotogramas clave que pertenecen a un grupo de animación.

void RemoveKeyframes();

Comentarios

Si el miembro m_bAutodestroyKeyframes es TRUE, los fotogramas clave se quitan y se destruye; de lo contrario, los fotogramas clave solo se quitan de la lista interna de fotogramas clave.

CAnimationGroup::RemoveTransitions

Quita las transiciones de los objetos de animación que pertenecen a un grupo de animación.

void RemoveTransitions();

Comentarios

Si la marca m_bAutoclearTransitions se establece en TRUE, este método recorre en bucle todos los objetos de animación que pertenecen al grupo y llama a CAnimationObject::ClearTransitions(FALSE).

CAnimationGroup::Schedule

Programa una animación a la hora especificada.

BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);

Parámetros

pTimer
Puntero al temporizador de animaciones.

time
Especifica la hora a la que se va a programar la animación.

Valor devuelto

TRUE si el método se realiza correctamente; FALSE si se produce un error en el método o si no se ha llamado a Animate con bScheduleNow establecido en FALSE.

Comentarios

Llame a esta función para programar una animación a la hora especificada. Primero debe llamar a Animate con bScheduleNow establecido en FALSE.

CAnimationGroup::SetAutodestroyTransitions

Indica a todos los objetos de animación que pertenecen al grupo que destruyan automáticamente las transiciones.

void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);

Parámetros

bAutoDestroy
Especifica cómo destruir las transiciones.

Comentarios

Establezca este valor en FALSE solo si asigna transiciones en la pila. El valor predeterminado es TRUE, por lo que se recomienda encarecidamente asignar objetos de transición mediante el operador new.

Consulte también

Clases