CAnimationBaseObject (clase)
La clase base para todos los objetos de animación.
Sintaxis
class CAnimationBaseObject : public CObject;
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CAnimationBaseObject::CAnimationBaseObject | Con sobrecarga. Construye un objeto de animación. |
CAnimationBaseObject::~CAnimationBaseObject | El destructor . Se lo llama cuando se destruye un objeto de animación. |
Métodos públicos
Nombre | Descripción |
---|---|
CAnimationBaseObject::ApplyTransitions | Agrega transiciones al guión gráfico con una variable de animación encapsulada. |
CAnimationBaseObject::ClearTransitions | Quita todas las transiciones relacionadas. |
CAnimationBaseObject::ContainsVariable | Determina si un objeto de animación contiene una variable de animación determinada. |
CAnimationBaseObject::CreateTransitions | Crea transiciones asociadas a un objeto de animación. |
CAnimationBaseObject::DetachFromController | Desasocia un objeto de animación del controlador de animación primario. |
CAnimationBaseObject::EnableIntegerValueChangedEvent | Configura el controlador de eventos Integer Value Changed. |
CAnimationBaseObject::EnableValueChangedEvent | Configura el controlador de eventos Value Changed. |
CAnimationBaseObject::GetAutodestroyTransitions | Indica si la transición relacionada se destruye automáticamente. |
CAnimationBaseObject::GetGroupID | Devuelve el ID de grupo actual. |
CAnimationBaseObject::GetObjectID | Devuelve el ID de objeto actual. |
CAnimationBaseObject::GetUserData | Devuelve los datos definidos por el usuario. |
CAnimationBaseObject::SetAutodestroyTransitions | Establece una marca para destruir automáticamente las transiciones. |
CAnimationBaseObject::SetID | Establece nuevos identificadores. |
CAnimationBaseObject::SetUserData | Establece los datos definidos por el usuario. |
Métodos protegidos
Nombre | Descripción |
---|---|
CAnimationBaseObject::GetAnimationVariableList | Recopila punteros a variables de animación contenidas. |
CAnimationBaseObject::SetParentAnimationObjects | Establece la relación entre variables de animación, contenidas en un objeto de animación y su contenedor. |
Miembros de datos protegidos
Nombre | Descripción |
---|---|
CAnimationBaseObject::m_bAutodestroyTransitions | Especifica si las transiciones relacionadas se deben destruir automáticamente. |
CAnimationBaseObject::m_dwUserData | Almacena los datos definidos por el usuario. |
CAnimationBaseObject::m_nGroupID | Especifica el identificador de grupo del objeto de animación. |
CAnimationBaseObject::m_nObjectID | Especifica el identificador de objeto del objeto de animación. |
CAnimationBaseObject::m_pParentController | Un puntero al controlador de animación primario. |
Comentarios
Esta clase implementa métodos básicos para todos los objetos de animación. Un objeto de animación puede representar un valor, un punto, un tamaño, un rectángulo o un color en una aplicación, así como cualquier entidad personalizada. Los objetos de animación se almacenan en grupos de animación (consulta CAnimationGroup). Cada grupo se puede animar por separado y se puede tratar como un análogo del guión gráfico. Un objeto de animación encapsula una o varias variables de animación (consulta CAnimationVariable), en función de su representación lógica. Por ejemplo, CAnimationRect contiene cuatro variables de animación: una variable para cada lado del rectángulo. Cada clase de objeto de animación expone el método AddTransition sobrecargado, que se debe usar para aplicar transiciones a variables de animación encapsuladas. Un objeto de animación se puede identificar por ID de objeto (opcionalmente) y por ID de grupo. Se necesita un identificador de grupo para colocar un objeto de animación para corregir el grupo, pero si no se especifica un id. de grupo, se coloca un objeto en el grupo predeterminado con el identificador 0. Si llamas a SetID con un GroupID diferente, se moverá un objeto de animación a otro grupo (si es necesario, se crea un nuevo grupo).
Jerarquía de herencia
CAnimationBaseObject
Requisitos
Encabezado: afxanimationcontroller.h
CAnimationBaseObject::~CAnimationBaseObject
El destructor . Se lo llama cuando se destruye un objeto de animación.
virtual ~CAnimationBaseObject();
CAnimationBaseObject::ApplyTransitions
Agrega transiciones al guión gráfico con una variable de animación encapsulada.
virtual BOOL ApplyTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
Parámetros
pStoryboard
Un puntero a un guion gráfico.
bDependOnKeyframes
Cuando es FALSE, este método agrega solo las transiciones que no dependen de fotogramas clave.
Valor devuelto
TRUE si las transiciones se agregaron correctamente.
Comentarios
Agrega transiciones relacionadas, que se han agregado con AddTransition (métodos sobrecargados en clases derivadas), al guión gráfico.
CAnimationBaseObject::CAnimationBaseObject
Construye un objeto de animación.
CAnimationBaseObject();
CAnimationBaseObject(
UINT32 nGroupID,
UINT32 nObjectID = (UINT32)-1,
DWORD dwUserData = 0);
Parámetros
nGroupID
Especifica el identificador de grupo.
nObjectID
Este parámetro se usa para especificar el id. de objeto.
dwUserData
Datos definidos por el usuario, que se pueden asociar al objeto de animación y recuperarse más adelante en tiempo de ejecución.
Comentarios
Construye un objeto de animación y asigna el identificador de objeto predeterminado (0) y el identificador de grupo (0).
CAnimationBaseObject::ClearTransitions
Quita todas las transiciones relacionadas.
virtual void ClearTransitions(BOOL bAutodestroy);
Parámetros
bAutodestroy
Especifica si se destruyen los objetos de transición automáticamente o simplemente se quitan de la lista relacionada.
Comentarios
Quita todas las transiciones relacionadas y las destruye si bAutodestroy o m_bAutodestroyTransitions marca es TRUE. Las transiciones solo se deben destruir automáticamente si no se asignan en la pila. Si las marcas anteriores son FALSE, las transiciones se quitan de la lista interna de transiciones relacionadas.
CAnimationBaseObject::ContainsVariable
Determina si un objeto de animación contiene una variable de animación determinada.
virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);
Parámetros
pVariable
Puntero a la variable de animación.
Valor devuelto
TRUE si la variable de animación está contenida en el objeto de animación; en caso contrario, FALSE.
Comentarios
Este método se puede usar para determinar si una variable de animación especificada por pVariable se encuentra dentro de un objeto de animación. Un objeto de animación, según su tipo, puede contener varias variables de animación. Por ejemplo, CAnimationColor contiene tres variables, una para cada componente de color (rojo, verde y azul). Cuando un valor de variable de animación ha cambiado, la API de animación de Windows envía eventos ValueChanged o IntegerValueChanged (si está habilitado) y el parámetro de este evento es un puntero a la interfaz IUIAnimationVariable de la variable de animación. Este método ayuda a obtener un puntero a la animación desde un puntero a un objeto COM contenido.
CAnimationBaseObject::CreateTransitions
Crea transiciones asociadas a un objeto de animación.
BOOL CreateTransitions();
Valor devuelto
TRUE si la transición se creó correctamente; de lo contrario, FALSE.
Comentarios
Recorre en bucle la lista de variables de animación encapsuladas en un objeto de animación derivada y crea transiciones asociadas a cada variable de animación.
CAnimationBaseObject::DetachFromController
Desasocia un objeto de animación del controlador de animación primario.
void DetachFromController();
Comentarios
Este método se utiliza internamente.
CAnimationBaseObject::EnableIntegerValueChangedEvent
Configura el controlador de eventos Integer Value Changed.
virtual void EnableIntegerValueChangedEvent(
CAnimationController* pController,
BOOL bEnable);
Parámetros
pController
Un puntero al controlador primario.
bEnable
Especifica si se va a habilitar o deshabilitar el evento Integer Value Changed.
Comentarios
Si el controlador de eventos Integer Value Changed está habilitado, puede controlar este evento en el método CAnimationController::OnAnimationIntegerValueChanged, que se debe invalidar en una clase derivada de CAnimationController. Se llama a este método cada vez que el valor entero de animación ha cambiado.
CAnimationBaseObject::EnableValueChangedEvent
Configura el controlador de eventos Value Changed.
virtual void EnableValueChangedEvent(
CAnimationController* pController,
BOOL bEnable);
Parámetros
pController
Un puntero al controlador primario.
bEnable
Especifica si se va a habilitar o deshabilitar el evento Value Changed.
Comentarios
Si el controlador de eventos Value Changed está habilitado, puede controlar este evento en el método CAnimationController::OnAnimationValueChanged, que se debe invalidar en una clase derivada de CAnimationController. Se llama a este método cada vez que el valor de animación ha cambiado.
CAnimationBaseObject::GetAnimationVariableList
Recopila punteros a variables de animación contenidas.
virtual void GetAnimationVariableList(
CList<CAnimationVariable*,
CAnimationVariable*>& list) = 0;
Parámetros
list
Lista que debe rellenarse con variables de animación contenidas en un objeto de animación.
Comentarios
Este método virtual puro debe ser sobrescrito en una clase derivada. Un objeto de animación, según su tipo, puede contener una o más variables de animación. Por ejemplo, CAnimationPoint contiene dos variables, para las coordenadas X e Y, respectivamente. La clase base CAnimationBaseObject implementa algunos métodos genéricos, que actúan en una lista de variables de animación: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Estos métodos llaman a GetAnimationVariableList, que se rellena en una clase derivada con variables de animación reales contenidas en un objeto de animación determinado y, a continuación, recorren en bucle la lista y realizan las acciones necesarias. Si creas un objeto de animación personalizado, debes agregar para enumerar todas las variables de animación contenidas en ese objeto.
CAnimationBaseObject::GetAutodestroyTransitions
Indica si la transición relacionada se destruye automáticamente.
BOOL GetAutodestroyTransitions() const;
Valor devuelto
Si es TRUE, las transiciones relacionadas se destruyen automáticamente; si es FALSE, los objetos de transición se deben desasignar llamando a la aplicación.
Comentarios
Por defecto esta bandera es TRUE. Establece esta marca solo si la aplicación que realiza la llamada debe desasignar la transición en la pila o las transiciones.
CAnimationBaseObject::GetGroupID
Devuelve el ID de grupo actual.
UINT32 GetGroupID() const;
Valor devuelto
ID del grupo actual.
Comentarios
Usa este método para recuperar el identificador de grupo. Es 0 si el identificador de grupo no se ha establecido explícitamente en el constructor o con SetID.
CAnimationBaseObject::GetObjectID
Devuelve el ID de objeto actual.
UINT32 GetObjectID() const;
Valor devuelto
ID del objeto actual.
Comentarios
Usa este método para recuperar el identificador de objeto. Es 0 si el identificador de objeto no se ha establecido explícitamente en el constructor o con SetID.
CAnimationBaseObject::GetUserData
Devuelve los datos definidos por el usuario.
DWORD GetUserData() const;
Valor devuelto
Un valor de datos personalizados.
Comentarios
Llama a este método para recuperar los datos personalizados en tiempo de ejecución. El valor devuelto será 0 si no se inicializó explícitamente en el constructor o con SetUserData.
CAnimationBaseObject::m_bAutodestroyTransitions
Especifica si las transiciones relacionadas se deben destruir automáticamente.
BOOL m_bAutodestroyTransitions;
CAnimationBaseObject::m_dwUserData
Almacena los datos definidos por el usuario.
DWORD m_dwUserData;
CAnimationBaseObject::m_nGroupID
Especifica el identificador de grupo del objeto de animación.
UINT32 m_nGroupID;
CAnimationBaseObject::m_nObjectID
Especifica el identificador de objeto del objeto de animación.
UINT32 m_nObjectID;
CAnimationBaseObject::m_pParentController
Un puntero al controlador de animación primario.
CAnimationController* m_pParentController;
CAnimationBaseObject::SetAutodestroyTransitions
Establece una marca para destruir automáticamente las transiciones.
void SetAutodestroyTransitions(BOOL bValue);
Parámetros
bValue
Especifica la marca de destruir automáticamente.
Comentarios
Establece esta marca solo si has asignado objetos de transición mediante el operador nuevo. Si por algún motivo se asignan objetos de transición en la pila, la marca de destrucción automática debe ser FALSE. Por defecto esta bandera es TRUE.
CAnimationBaseObject::SetID
Establece nuevos identificadores.
void SetID(
UINT32 nObjectID,
UINT32 nGroupID = 0);
Parámetros
nObjectID
Especifica el nuevo identificador de objeto.
nGroupID
Especifica el nuevo identificador de grupo.
Comentarios
Te permite cambiar el identificador de objeto y el identificador de grupo. Si el nuevo id. de grupo difiere del identificador actual, se mueve un objeto de animación a otro grupo (se creará un nuevo grupo, si es necesario).
CAnimationBaseObject::SetParentAnimationObjects
Establece la relación entre variables de animación, contenidas en un objeto de animación y su contenedor.
virtual void SetParentAnimationObjects();
Comentarios
Este asistente puede usarse para establecer la relación entre variables de animación, contenidas en un objeto de animación y su contenedor. Recorre en bucle variables de animación y establece un puntero de retroceso a un objeto de animación primario en cada variable de animación. En la implementación actual, la relación real se establece en CAnimationBaseObject::ApplyTransitions, por lo que los punteros atrás no se establecen hasta que se llama a CAnimationGroup::Animate. Conocer la relación puede ser útil al procesar eventos y necesita obtener un objeto de animación primario de CAnimationVariable. Use CAnimationVariable::GetParentAnimationObject.
CAnimationBaseObject::SetUserData
Establece los datos definidos por el usuario.
void SetUserData (DWORD dwUserData);
Parámetros
dwUserData
Especifica los datos personalizados.
Comentarios
Utiliza este método para asociar datos personalizados a un objeto de animación. GetUserData puede recuperar estos datos más adelante en tiempo de ejecución.