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.