Compartir a través de


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

CObject

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.

Consulte también

Clases