Compartilhar via


Classe CAnimationGroup

Implementa um grupo de animação, que combina um storyboard de animação, objetos de animação e transições para definir uma animação.

Sintaxe

class CAnimationGroup;

Membros

Construtores públicos

Nome Descrição
CAnimationGroup::CAnimationGroup Constrói um grupo de animação.
CAnimationGroup::~CAnimationGroup O destruidor. Chamado quando um grupo de animação está sendo destruído.

Métodos públicos

Nome Descrição
CAnimationGroup::Animate Anima um grupo.
CAnimationGroup::ApplyTransitions Aplica transições a objetos de animação.
CAnimationGroup::FindAnimationObject Localiza um objeto de animação que contém a variável de animação especificada.
CAnimationGroup::GetGroupID Retorna a GroupID.
CAnimationGroup::RemoveKeyframes Remove e, opcionalmente, destrói todos os quadros-chave que pertencem a um grupo de animação.
CAnimationGroup::RemoveTransitions Remove transições de objetos de animação que pertencem a um grupo de animação.
CAnimationGroup::Schedule Agenda uma animação no momento especificado.
CAnimationGroup::SetAutodestroyTransitions Direciona todos os objetos de animação que pertencem ao grupo Destruir transições automaticamente.

Métodos protegidos

Nome Descrição
CAnimationGroup::AddKeyframes Um auxiliar que adiciona quadros-chave a um storyboard.
CAnimationGroup::AddTransitions Um auxiliar que adiciona transições a um storyboard.
CAnimationGroup::CreateTransitions Um auxiliar que cria objetos de transição COM.

Membros de Dados Públicos

Nome Descrição
CAnimationGroup::m_bAutoclearTransitions Especifica como limpar transições de objetos de animação que pertencem ao grupo. Se esse membro for TRUE, as transições serão removidas automaticamente quando uma animação tiver sido agendada. Caso contrário, você precisará remover as transições manualmente.
CAnimationGroup::m_bAutodestroyAnimationObjects Especifica como destruir objetos de animação. Se esse parâmetro for TRUE, os objetos de animação serão destruídos automaticamente quando o grupo for destruído. Caso contrário, os objetos de animação deverão ser destruídos manualmente. O valor padrão é FALSE. Defina esse valor como TRUE somente se todos os objetos de animação que pertencem ao grupo forem alocados dinamicamente com o operador new.
CAnimationGroup::m_bAutodestroyKeyframes Especifica como destruir quadros-chave. Se esse valor for TRUE, todos os quadros-chave serão removidos e destruídos; caso contrário, serão removidos apenas da lista. O valor padrão é TRUE.
CAnimationGroup::m_lstAnimationObjects Contém uma lista de objetos de animação.
CAnimationGroup::m_lstKeyFrames Contém uma lista de quadros-chave.
CAnimationGroup::m_pStoryboard Aponta para o storyboard de animação. Esse ponteiro é válido somente após a chamada em Animar.

Membros de dados protegidos

Nome Descrição
CAnimationGroup::m_nGroupID Um identificador exclusivo do grupo de animação.
CAnimationGroup::m_pParentController Um ponteiro para o controlador de animação ao qual esse grupo pertence.

Comentários

Os grupos de animação são criados automaticamente pelo controlador de animação (CAnimationController) quando você adiciona objetos de animação usando CAnimationController::AddAnimationObject. Um grupo de animação é identificado pela GroupID, que geralmente é usada como um parâmetro para manipular grupos de animação. A GroupID é extraída do primeiro objeto de animação que está sendo adicionado a um novo grupo de animação. Um storyboard de animação encapsulado é criado depois que você chama CAnimationController::AnimateGroup e pode ser acessado por meio de m_pStoryboard de membro público.

Hierarquia de herança

CAnimationGroup

Requisitos

Cabeçalho: afxanimationcontroller.h

CAnimationGroup::~CAnimationGroup

O destruidor. Chamado quando um grupo de animação está sendo destruído.

~CAnimationGroup();

CAnimationGroup::AddKeyframes

Um auxiliar que adiciona quadros-chave a um storyboard.

void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);

Parâmetros

pStoryboard
Um ponteiro para um objeto COM do storyboard.

bAddDeep
Especifica se esse método deve ser adicionado aos quadros-chave do storyboard que dependem de outros quadros-chave.

CAnimationGroup::AddTransitions

Um auxiliar que adiciona transições a um storyboard.

void AddTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parâmetros

pStoryboard
Um ponteiro para um objeto COM do storyboard.

bDependOnKeyframes

CAnimationGroup::Animate

Anima um grupo.

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

Parâmetros

pManager
pTimerbScheduleNow

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

Esse método cria um storyboard interno, cria e aplica transições e agenda uma animação se bScheduleNow é TRUE. Se bScheduleNow é FALSE, você precisará chamar Agenda para iniciar a animação no momento especificado.

CAnimationGroup::ApplyTransitions

Aplica transições a objetos de animação.

void ApplyTransitions();

Comentários

Esse método ASSERTS no modo de depuração se o storyboard não tiver sido criado. Ele cria todas as transições primeiro, depois adiciona quadros-chave "estáticos" (quadros-chave que dependem de deslocamentos), adiciona transições que não dependem de quadros-chave, adiciona quadros-chave dependendo de transições e outros quadros-chave e, finalmente, adiciona transições que dependem de quadros-chave.

CAnimationGroup::CAnimationGroup

Constrói um grupo de animação.

CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);

Parâmetros

pParentController
Um ponteiro para o controlador de animação que cria um grupo.

nGroupID
Especifica a GroupID.

CAnimationGroup::CreateTransitions

Um auxiliar que cria objetos de transição COM.

BOOL CreateTransitions();

Valor de retorno

TRUE é o método bem-sucedido, caso contrário, FALSE.

CAnimationGroup::FindAnimationObject

Localiza um objeto de animação que contém a variável de animação especificada.

CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);

Parâmetros

pVariable
Um ponteiro para a variável de animação.

Valor de retorno

Um ponteiro para o objeto de animação ou NULL se o objeto de animação não for encontrado.

CAnimationGroup::GetGroupID

Retorna a GroupID.

UINT32 GetGroupID() const;

Valor de retorno

Um identificador de grupo.

CAnimationGroup::m_bAutoclearTransitions

Especifica como limpar transições de objetos de animação que pertencem ao grupo. Se esse membro for TRUE, as transições serão removidas automaticamente quando uma animação tiver sido agendada. Caso contrário, você precisará remover as transições manualmente.

BOOL m_bAutoclearTransitions;

CAnimationGroup::m_bAutodestroyAnimationObjects

Especifica como destruir objetos de animação. Se esse parâmetro for TRUE, os objetos de animação serão destruídos automaticamente quando o grupo for destruído. Caso contrário, os objetos de animação deverão ser destruídos manualmente. O valor padrão é FALSE. Defina esse valor como TRUE somente se todos os objetos de animação que pertencem ao grupo forem alocados dinamicamente com o operador new.

BOOL m_bAutodestroyAnimationObjects;

CAnimationGroup::m_bAutodestroyKeyframes

Especifica como destruir quadros-chave. Se esse valor for TRUE, todos os quadros-chave serão removidos e destruídos; caso contrário, serão removidos apenas da lista. O valor padrão é TRUE.

BOOL m_bAutodestroyKeyframes;

CAnimationGroup::m_lstAnimationObjects

Contém uma lista de objetos de animação.

CObList m_lstAnimationObjects;

CAnimationGroup::m_lstKeyFrames

Contém uma lista de quadros-chave.

CObList m_lstKeyFrames;

CAnimationGroup::m_nGroupID

Um identificador exclusivo do grupo de animação.

UINT32 m_nGroupID;

CAnimationGroup::m_pParentController

Um ponteiro para o controlador de animação ao qual esse grupo pertence.

CAnimationController* m_pParentController;

CAnimationGroup::m_pStoryboard

Aponta para o storyboard de animação. Esse ponteiro é válido somente após a chamada em Animar.

ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;

CAnimationGroup::RemoveKeyframes

Remove e, opcionalmente, destrói todos os quadros-chave que pertencem a um grupo de animação.

void RemoveKeyframes();

Comentários

Se o membro m_bAutodestroyKeyframes for TRUE, os quadros-chave serão removidos e destruídos, caso contrário, os quadros-chave serão removidos da lista interna de quadros-chave.

CAnimationGroup::RemoveTransitions

Remove transições de objetos de animação que pertencem a um grupo de animação.

void RemoveTransitions();

Comentários

Se m_bAutoclearTransitions sinalizador for definido como TRUE, esse método será colocado em loop em todos os objetos de animação que pertencem ao grupo e chamará CAnimationObject::ClearTransitions(FALSE).

CAnimationGroup::Schedule

Agenda uma animação no momento especificado.

BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);

Parâmetros

pTimer
Um ponteiro para o temporizador de animação.

time
Especifica o tempo para agendar a animação.

Valor de retorno

TRUE se o método for bem-sucedido; FALSE se o método falhar ou se Animar não tiver sido chamado com bScheduleNow definido como FALSE.

Comentários

Chame essa função para agendar uma animação no momento especificado. Você deve chamar Animar com bScheduleNow definido como FALSE primeiro.

CAnimationGroup::SetAutodestroyTransitions

Direciona todos os objetos de animação que pertencem ao grupo Destruir transições automaticamente.

void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);

Parâmetros

bAutoDestroy
Especifica como destruir transições.

Comentários

Defina esse valor como FALSE somente se você alocar transições na pilha. O valor padrão é TRUE, portanto, é altamente recomendável alocar objetos de transição usando o operador novo.

Confira também

Classes