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.